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

Android JNI开发-java与c++其间的中文字符串传递

2012-09-04 
Android JNI开发---java与c++之间的中文字符串传递?? 最近在做一个Android电子词典,其中在从词库中读取词

Android JNI开发---java与c++之间的中文字符串传递

?? 最近在做一个Android电子词典,其中在从词库中读取词条时,用到了jni---java调用c++;在java代码里调用本地方法时,难免会java与c++之间传递参数。传递的参数若是英文的话,比较好解决,网上一般都有解决方法,用着也没问题;但是在传递中文字符串时,就需要转换一下。下面就是我自己的传递方式:

?? 1.C++? --> java

??? 在C++中,解压出的词条是 jbyte* 类型的,有英文,有中文,所以,我就把这些数据以byteArray的形式给传递到java里面:

//功能:接收从java传递过来的数组//输入:lems  java传递过来的数组void   searchZNInputLemmas(JNIEnv *env, jobject obj,jbyteArray lems){    jbyte * str;     str =(jbyte *) (env)->GetByteArrayElements(lems, false);      (env)->ReleaseByteArrayElements(lems, str, 0); }

??

热点排行