andriod

Android NDK 获取域和域id(访问Java代码变量)

2016-07-07  本文已影响68人  60916fc63567

话不多说,直接上代码

NIEXPORT jstring JNICALL Java_androids_ndk_com_myapplication_Main3Activity_executeJavaFiled(JNIEnv *env,jobject instance){

jclass clazz;

//用对象引用获得类

clazz = env ->GetObjectClass(instance);

//获取实例域的域ID

jfieldID instanceFieldId;

instanceFieldId = env ->GetFieldID(clazz,"instanceField","Ljava/lang/String;");

//获取静态域的域ID

jfieldID staticFieldId;

staticFieldId = env ->GetStaticFieldID(clazz,"staticField","Ljava/lang/String");

//获取实例域

jstring instanceField;

instanceField = (jstring)env ->GetObjectField(instance,instanceFieldId);

//获取静态域

jstring staticField;

staticField = (jstring)env ->GetStaticObjectField(clazz,staticFieldId);

returninstanceField;

}

代码片段截图:

上一篇 下一篇

猜你喜欢

热点阅读