在使用jni调用时经常遇到数据类型转换问题,以下是char*与jstring相互转换的代码://java字符串转C字符串char* jstringTostr(JNIEnv* env, jstring jstr){            char* pStr = NULL;    jclass     jstrObj   = (*env)->FindClass(env, "java/lang/String");    jstring    encode    = (*env)->NewStringUTF(env, "utf-8");    jmethodID  methodId  = (*env)->GetMethodID(env, jstrObj, "getBytes", "(Ljava/lang/String;)[B");    jbyteArray byteArray = (jbyteArray)(*env)->CallObjectMethod(env, jstr, methodId, encode);    jsize      strLen    = (*env)->GetArrayLength(env, byteArray);    jbyte      *jBuf     = (*env)->GetByteArrayElements(env, byteArray, JNI_FALSE);    if (jBuf > 0)    {        pStr = (char*)malloc(strLen + 1);        if (!pStr)        {            return NULL;        }        memcpy(pStr, jBuf, strLen);        pStr[strLen] = 0;    }    (*env)->ReleaseByteArrayElements(env, byteArray, jBuf, 0);    return pStr;}//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, "<init>", "([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. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 分支和循环(二)(零基础学习C语言)
  3. Android第六个功能:XmlPullParser解析XML文件
  4. Android(安卓)Layout Binder(在线将XML中View find出来,生成java代
  5. Android(安卓)Toast 总结
  6. 【Dialer】自定义暗码进入测试模式
  7. Android应用自动更新功能的实现!!!软件更新,自动下载,安装
  8. android文件上传示例分享(android图片上传)
  9. 【原创】android中实现底部tabhost

随机推荐

  1. 2012.06.28(4)——— android 应用移到sd
  2. Android生命周期和启动模式
  3. LeAndroid招聘汇总
  4. Android 渗透测试学习手册(二)准备实验环境
  5. A31S-camera流程
  6. android 定时短信app之时间选择器(一)
  7. Android(安卓)cocos2d 弹弓游戏 Catapult
  8. Android利用已有控件实现自定义控件
  9. Android studio Failure [INSTALL_FAILED
  10. Android Activity和Intent机制 学习笔记(