android jni java类型与c语言类型互换
生活随笔
收集整理的這篇文章主要介紹了
android jni java类型与c语言类型互换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.java String轉換 C str
char* Jstring2CStr(JNIEnv* env, jstring jstr) {char* rtn = NULL;jclass clsstring = (*env)->FindClass(env,"java/lang/String");jstring strencode = (*env)->NewStringUTF(env,"GB2312");jmethodID mid = (*env)->GetMethodID(env,clsstring, "getBytes", "(Ljava/lang/String;)[B");jbyteArray barr= (jbyteArray)(*env)->CallObjectMethod(env,jstr,mid,strencode); // String .getByte("GB2312");jsize alen = (*env)->GetArrayLength(env,barr);jbyte* ba = (*env)->GetByteArrayElements(env,barr,JNI_FALSE);if(alen > 0){rtn = (char*)malloc(alen+1); //"\0" memcpy(rtn,ba,alen);rtn[alen]=0;}(*env)->ReleaseByteArrayElements(env,barr,ba,0); // return rtn; }
2.傳入參數 int數組jintArray jarray
?
轉載于:https://www.cnblogs.com/superPerfect/p/4264481.html
總結
以上是生活随笔為你收集整理的android jni java类型与c语言类型互换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目开发-文档-软件需求规格说明书模板文
- 下一篇: [译]预留位置队列PRQueue:多线程