在Android中,在我的Java应用程序中使用JNI,我需要ANativeActivity来管理资源。我的问题是我没有:
$sql = 'UPDATE users SET `'; // I added an opening backtick around the column name
$sql .= '$qualname`'; // I added a closing backtick around the column name
$sql .= '=\'$qualbool\' WHERE username=\'$profilename\'';
因为我只是使用JNI调用一些函数。通常人们使用_
void android_main(struct android_app* state)
从结构中获取值。如何手动拥有ANativeActivity?
答案 0 :(得分:2)
该线程有点旧,但是我最近一直在尝试解决相同的问题,我正在整理一些较旧的NDK代码,并发现所有NDK示例对我来说用处不大他们对这些新结构的使用。我以为我会在这里继续我的发现,因为从文档中并不能从这个角度来解决问题的人都不清楚。
NDK现在具有一系列帮助器类(称为“ NativeActivity”),以简化NDK的开发-我怀疑我们在自己的旧代码中都在做与这些帮助器相同的事情。
“ ANativeActivity” C ++结构是SDK的这一部分的新结构。它是在Java对象“ NativeActivity”中定义的,并返回该Java对象“ NativeActivity”,您的活动就是使用新的(无论如何从2015年开始)辅助函数和类派生的类。
因此,无法使用“原始” NDK调用来获取此对象:对于不使用NDK的那部分的应用程序,该对象不存在。 但是,您可以查看源代码(请参阅“ NativeActivity.java”和“ android_app_NativeActivity.cpp”),并使用原始NDK调用复制其功能,或者可以改用辅助应用程序模型。