cocos2d 如何将jobject转换成jstring--以及将char*转换成java的jstring
来源:互联网 发布:淘宝几十块的近视眼镜 编辑:程序博客网 时间:2024/06/05 09:11
1. 纠结了半天怎么把调用Android层代码返回的String类型转成C++中的string,直接上代码:
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)//判断当前是否为Android平台 JniMethodInfo jmi; bool isHave = JniHelper::getStaticMethodInfo(jmi,"com/test/testjni","getName","()Ljava/lang/String;"); if(isHave) {// 调用CallStaticObjectMethod方法会返回一个jobject对象,在前面弄个(jstring)就可以转换成jstring// 然后调用JniHelper提供的便捷方法jstring2string(),直接把jstring转成C++中的string(对源码感兴趣的可以直接去看“cocos2dx/platform/android/jni/JniHelper”中的具体实现) jstring js_pkn = (jstring)jmi.env->CallStaticObjectMethod(jmi.classID,jmi.methodID); std::string str_pkn = JniHelper::jstring2string(js_pkn); }#endif
2. C++代码的将char*转换成java的jstring,直接上代码:
void Utils::changeCharToJstring(char *appID){ JniMethodInfo jmi; bool ishave = JniHelper::getStaticMethodInfo(jmi,Package_Utils_Path,"changeCharToJstring","(Ljava/lang/String;)V"); if(ishave) { // 将C++的char*转换成java的jstring jstring str_id = jmi.env->NewStringUTF(appID); jmi.env->CallStaticVoidMethod(jmi.classID,jmi.methodID,isShow,str_id); }}
0 0
- cocos2d 如何将jobject转换成jstring--以及将char*转换成java的jstring
- JNI - 如何将 char* 转换成 jstring
- JNI - 如何将 char 转换成 jstring
- 将const char类型转换成jstring类型
- jni 开发 char*转换成jstring
- jstring 和 char* 转换
- jstring 转换为 char *
- char* 和jstring转换
- JNI数据类型转换和JNIEnv的介绍、操作jobject,以及jstring的介绍
- char* const char* jstring转换
- jstring 和char* 之间的转换方法
- jni jstring 、char* 类型的转换
- jstring 和char* 之间的转换方法
- jstring 和char* 之间的转换方法
- JNI jstring 和char* 的相互转换
- jni jstring 、char* 类型的转换
- (转)jni jstring 、char* 类型的转换
- jni jstring 、char* 类型的转换
- 在Linux C/C++中捕获段错误
- 通过反射查看类信息---获得Class对象
- Lesson_for_java_day01---html标记大全
- Android布局文件layout.xml的一些属性值
- 抽象类合接口的区别 (abstract与interface)
- cocos2d 如何将jobject转换成jstring--以及将char*转换成java的jstring
- Android 左右椭圆形状的ProgressBar 的自定义实现
- HDU 1166 敌兵布阵 (树状数组--单点更新,区间求值)
- 黑马程序员 C语言-----数组基本概念 以及选择 冒泡排序理解
- backtrace打印堆栈的信号问题
- java.lang.NullPointerException: Expected timestamp in the Flume event headers, but it was null
- C++ map的基本操作和使用
- Thinkpad X230 安装黑苹果 Mac OSX Mavericks 10.9.2
- strcpy和memcpy的区别