jobject到jstring或char *转换

时间:2012-12-05 15:34:42

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

JNIEXPORT void JNICALL Java_com_ex_android_rt_addFriends(JNIEnv* env, jobject obj,
    jint size, jobjectArray nodes)
 {

jint count = (*env).GetArrayLength(nodes);
  for (int i=0; i < count; i++) {

//在这里我从jobjectArray获取对象

jobject element = (*env).GetObjectArrayElement(nodes, i); 

  if((*env).ExceptionOccurred()) {
     break;
  }
//  jstring mStr = ?;
  const char *nativeString = (*env).GetStringUTFChars(mStr, NULL);

 // use your string

  CCLog(" - value - %s -  ", nativeString);

 (*env).ReleaseStringUTFChars(mStr, nativeString);

  (*env).DeleteLocalRef(element);
}

我正在获取jobject,如何将其转换为jstring?我试过了:

jstring string = (jstring) (*env).GetObjectArrayElement(nodes, 0);

没有成功。

修改

我试过了:

jstring mStr = (*env).GetStringUTFChars(element, 0);

我正在

  

无法在初始化

中将'const char *'转换为'_jstring *'

0 个答案:

没有答案