如何在Android NDK中的两个JNI方法中使用类实例?

时间:2014-07-21 18:56:24

标签: java android c++ android-ndk java-native-interface

我是Android NDK的新手,并试图在两个JNI方法调用中使用C ++类实例。我无法找到一个简约的例子。在Java的多个JNI调用中设置/获取对C ++类实例的引用需要哪些步骤?

一些伪代码:

C ++:

cOwnClass *oc = NULL; //the reference I want to use across all methods

JNIEXPORT jstring JNICALL Java_com_example_pkgname_clsname_methodset( 
             JNIEnv* env, jobject thiz ){
      oc = new cOwnClass();
      return env->NewStringUTF("set reference");
}


JNIEXPORT jstring JNICALL Java_com_example_pkgname_clsname_methodcall( 
             JNIEnv* env, jobject thiz ){
      oc->ownMethod(); //oc should be set here
      return env->NewStringUTF("used reference");
}

爪哇:

jniinstance.methodset();//creates the class instance
jniinstance.methodcall();//so methodcall should be able to use it

0 个答案:

没有答案