[本机]:在Qt for Android中使用Java函数和第3方库[关闭]

2024-05-08

最近我用qt写了一个android应用程序。
但我有一个很大的问题,我可以使用/调用一些原生的android API,比如调用特殊的activity吗?

例如,在 Android SDK 中,我在 java 中调用联系人:
意图意图 = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI); startActivityForResult(意图,PICK_CONTACT);

是否有一些用于 java android sdk API 的 c++ 包装库?

或者如果我需要一些特殊的组件(用java编写的),我可以将它放在我的qt android程序中吗?
或者制作一个具有“纯qt”和“标准java”或“C++ android NDK”混合页面/活动的程序?

(我问这个问题是因为我有使用 MOSYNC 框架的经验,这是一个很好的框架,但你仅限于它自己的库,你不能使用任何外部库或 android 标准 API,...)

提前致谢。

EDIT:根据 JNI 的改进(http://qt-project.org/doc/qt-5/qtandroidextras-index.html http://qt-project.org/doc/qt-5/qtandroidextras-index.html), 我有个问题: 我可以在我的 qt 项目中使用“任何”android Java 第三方库吗?当我在 Java SDK 项目中使用这些库时?


为了执行您想要的操作,您需要通过 JNI 从 C++ 代码调用 Java 代码。我不知道有任何 C++ 包装库可以用于此目的。您需要从 JNI_OnLoad 获取 Java VM,当您想要调用 Java 方法时,您需要将 VM 附加到您的线程,并为您提供 JNIEnv,您可以使用它来查找所需的类并调用方法在上面。这个链接 http://mkk.ekk.pl/?wpis=3应该有助于细节。

至于是否值得使用QT来开发Android应用程序,是的,如果你需要跨平台支持,并且想将同一个应用程序部署到Android、Linux、Windows等。如果你只是开发Android应用程序,那么在根据我的经验,直接使用Android会更容易、更快。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[本机]:在Qt for Android中使用Java函数和第3方库[关闭] 的相关文章

随机推荐