2017-01-17 8 views
0

AndroidでQtを実行する方法を知りたいですか?私はQtがモバイルアプリのネイティブであることを知っています。 Qtにはたくさんのモジュールがあります(たとえば、Qt SensorsQt BluetoothQt AndroidExtras)。 Qtはモバイル向けですが、Android SDK Java codesはQt/C++から呼び出すことができます。では、Android用QtのJavaコードはどうやって動くのですか? QtのバックグラウンドでJava VMが動作しますか? QtでJavaコードをどのように実行するのですか?この仕事の論理は何ですか? QtはQtAndroidExtras Android用Javaコードを呼び出しています。しかし、私はAndroid用のJavaコードを呼び出す純粋なjni(jni.hファイル付き)を使用したいと思います。私はjniコードをQtとFireMonkeyの両方で使いたいからです。だから、QtAndroidExtrasなしでQtでJavaコードをどのように実行するのだろうか。私の短い質問:QtAndroidExtrasのようなモジュールをAndroid用に作成したいと思います。 Android SDKクラス(またはJavaコード)をC++から呼び出すためのものです。どうしたらいいですか?おかげさまで QtはAndroidでどのように動作しますか?

答えて

3

Qt AndroidアプリケーションでJavaコードを実行するには、Android上で開発するための追加機能を含むQt Android Extrasモジュールを使用する必要があります。

JNIを使​​用して、QtからJava関数を呼び出したり、JavaからQt関数をコールバックすることができます。

bool retVal = QAndroidJniObject::callStaticMethod<jint> 
         ("com/MyApp/JavaClass" // class name 
         , "SomeMethod" // method name 
         , "(I)I" // signature 
         , val); 
+0

ありがとう、私はすでにQt AndroidExtrasモジュールを知っていました。しかし、私は 'Qt AndroidExtras'を使わずにJavaメソッドをQtからどのように呼び出すことができるのだろうか?私は** jni.h **ファイルが必要だと思います。 ** jni.h **を使ってC++からJavaメソッドを呼び出すことができますか? –

関連する問題