JNI中C调用JAVA类中的属性与方法 (2023/9/26)
JNI在jni.h头文件中定义了jfieldID,jmethodID类表示Java端的属性和方法
获取属性: 在访问或设置Java属性的时候,首先要在本地C代码中取得代表Java属性的jfieldID,然后才能在本地C代码中进行Java属性操作。
调用java的方法:调用Java端的方法时,需要取得代表方法的jmethodID才能进行Java方法调用
JNIEnv获取相应的fieldID和jmethodID的方法:
GetFieldID/GetMethodID
GetStaticFieldID/GetStaticMethodID
GetMethodID也可以取得构造函数的jmethodID。创建Java对象时调用指定的构造函数。
如:env->GetMethodID(data_Clazz,"method_name","()V")
(*jniEnv)->GetMethodID(jniEnv, Clazz,"<init>", "()V");
附件: 无
|