JNI:使用“调用Java方法”;()签名
有一个Java类带有JNI:使用“调用Java方法”;()签名,java,java-native-interface,Java,Java Native Interface,有一个Java类带有getLong()和getCharArray()方法,我有指向这个类的jobject链接 此代码 jclass clsData = env->GetObjectClass(data); jmethodID getVal = env->GetMethodID(clsData, "getLong", "()J"); jlong x = env->CallLongMethod(data, getVal); 允许我访问getLong()返回的long值 如何访问字
getLong()
和getCharArray()
方法,我有指向这个类的jobject链接
此代码
jclass clsData = env->GetObjectClass(data);
jmethodID getVal = env->GetMethodID(clsData, "getLong", "()J");
jlong x = env->CallLongMethod(data, getVal);
允许我访问getLong()
返回的long值
如何访问字符数组?您可以通过这种方式获取字符数组这是另一篇文章的简单片段
您可以这样获得char数组这是另一篇文章的简单片段-完整的文章
jclass clsData = env->GetObjectClass(data);
jmethodID getVal = env->GetMethodID(clsData, "getCharArray", "()[C");
???
jobject obj = ... // This is the object you want to call the method on
jcharArray arr = (jcharArray) (*env)->CallObjectMethod(env, obj, getVal);
int count = (*env)->GetArrayLength(env, arr);
jchar* chars = (*env)->GetCharArrayElements(env, arr, 0);