java - Qt 如何在 Android 上运行?

标签 java android c++ qt

我想了解Qt如何在Android上运行?我知道Qt适用于移动应用程序。 Qt 有很多模块(例如 Qt SensorsQt BluetoothQt AndroidExtras )。 Qt 原生适用于移动设备,但我们可以调用 Android SDK Java codes来自 Qt/C++。那么,如何从 Qt for Android 运行 Java 代码呢? Java VM可以在Qt后台运行吗?如何在 Qt 中运行 Java 代码?这份工作的逻辑是什么? Qt 正在使用QtAndroidExtras调用 Android 的 Java 代码。但我想使用纯jni(带有jni.h文件)调用Android的Java代码。因为我想使用 Qt 和 FireMonkey 的 jni 代码。所以,我想知道Java代码如何在没有QtAndroidExtras的情况下在Qt中运行。我的简短问题:我想写一个像 QtAndroidExtras 这样的模块,此模块适用于 Android。它用于从 C++ 调用 Android SDK 类(或 Java 代码)。我该怎么做? 谢谢。

最佳答案

要在 Qt Android 应用程序中运行 Java 代码,您应该使用 Qt Android Extras包含用于 Android 开发的附加功能的模块。

您可以使用 JNI 从 Qt 调用 Java 函数或从 Java 回调 Qt 函数。

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

关于java - Qt 如何在 Android 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41704493/

相关文章:

java - 如何在Java中根据公共(public)属性合并两个排序的对象列表

c++ - Colstore 与 Rowstore 的内存算法

c++ - 标记/编码指针

java - 无法连接到 MySQL 服务器 - Java

java - 通过检查 WSDL 文件确定 Web 服务中可用的方法

android - Mac 上的 Meteor 1.3.3 运行 android : Android target: Android SDK not found

c++ - 多个对象无法渲染?

java - com.mongodb.MongoSocketOpenException : Exception opening socket 异常

java - 使用 jsoup 获取元素外部但元素旁边的文本

android - 如何从 xml 元素中获取成员值