首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

AndroidJNI调用char*与jstring互相转换

2012-12-25 
AndroidJNI调用char*与jstring相互转换在使用jni调用时经常遇到数据类型转换问题,以下是char*与jString相

AndroidJNI调用char*与jstring相互转换

在使用jni调用时经常遇到数据类型转换问题,以下是char*与jString相互转换的代码:

?

//C字符串转java字符串jstring strToJstring(JNIEnv* env, const char* pStr){    int        strLen    = strlen(pStr);    jclass     jstrObj   = (*env)->FindClass(env, "java/lang/String");    jmethodID  methodId  = (*env)->GetMethodID(env, jstrObj, "", "([BLjava/lang/String;)V");    jbyteArray byteArray = (*env)->NewByteArray(env, strLen);    jstring    encode    = (*env)->NewStringUTF(env, "utf-8");    (*env)->SetByteArrayRegion(env, byteArray, 0, strLen, (jbyte*)pStr);        return (jstring)(*env)->NewObject(env, jstrObj, methodId, byteArray, encode);}
?

?

?

?

1 楼 doloveme 2012-12-06   需要注意的是 释放内存!!!

热点排行