cocos2d c 调用java_cocos2d-x之C++ 调用Java函数并接收返回值
参考:http://blog.csdn.net/xiaominghimi/article/details/7602984
//java中string转C++中string
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
//jstring to char*
std::string jstringTostring(JNIEnv* env,jstring jstr)
{
char* rtn = NULL;
jclass clsstring = env->FindClass("java/lang/String");
jstring strencode = env->NewStringUTF("utf-8");
jmethodID mid = env->GetMethodID(clsstring,"getBytes","(Ljava/lang/String;)[B");
jbyteArray barr= (jbyteArray)env->CallObjectMethod(jstr,mid,strencode);
jsize alen = env->GetArrayLength(barr);
jbyte* ba = env->GetByteArrayElements(barr,JNI_FALSE);
if (alen > 0)
{
rtn = (char*)malloc(alen + 1);
memcpy(rtn,ba,alen);
rtn[alen] = 0;
}
env->ReleaseByteArrayElements(barr,0);
std::string stemp(rtn);
free(rtn);
return stemp;
}
#endif
//调用手机信息接口
std::string callJinPhoneNum() {
std::string strNum;
//Android:调用手机号码接口
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
JniMethodInfo minfo;
bool isHave;
isHave = JniHelper::getStaticMethodInfo(minfo,PACKAGE_NAME,"getPhoneNum","()Ljava/lang/String;");
if (!isHave) {
log("JNI:exitGame method is not exist");
}
else{
jstring jsNum = (jstring)minfo.env->CallStaticObjectMethod(minfo.classID,minfo.methodID);
strNum = jstringTostring(minfo.env,jsNum);
}
#endif
return strNum;
} void callJinTime(std::string strTime) { #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) JniMethodInfo minfo; bool isHave; isHave = JniHelper::getStaticMethodInfo(minfo,"getTime","(Ljava/lang/String;)V"); if (!isHave) { log("JNI:exitGame method is not exist"); } else{ jstring jstr = minfo.env->NewStringUTF(strTime.c_str()); minfo.env->CallStaticObjectMethod(minfo.classID,minfo.methodID,jstr); } #endif }
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250
cocos2d c 调用java_cocos2d-x之C++ 调用Java函数并接收返回值相关推荐
- C++中函数模板的返回值是模板类型参数的调用方法
1 函数模板 模板定义以关键字template开始,后接模板形参表,模板形参表是用尖括号扩住的一个或多个模板形参的列表,形参之间以逗号分隔.关于函数模板的详细介绍,请参考<C++中模板函数及模板 ...
- java doget 返回json_HttpClient调用doGet、doPost、JSON传参及获得返回值
调用 doPost:map传参 Map map = new HashMap<>(); map.put("test","test"); String ...
- c#调用c++ dll const char* String类型转换问题。传值,与接收返回值问题
C++原型 extern "C" __declspec(dllexport) const char* GetUnicoide(const char* gb2312) {int le ...
- excel vba 调用java_excel中vba调用java程序并获取返回值
在工作中,为提高excel处理效率会写一些vba宏,有时还需要调用外部java程序(比如访问webservice接口的java程序),下面的事例可做参考 一.编写简单的java调试程序 public ...
- .net 调用 sql server 自定义函数,并输出返回值
数据库结构: 表内的数据: 自定义函数: 递归查出 树下所有节点 ,参数是 父id create function sss(@id as int)returns @t table(id int not ...
- java 调用python脚本过程_通过Java调用Python脚本
在进行开发的过程中,偶尔会遇到需要使用Java调用Python脚本的时候,毕竟Python在诸如爬虫,以及科学计算等方面具有天然的优势.最近在工作中遇到需要在Java程序中调用已经写好的Python程 ...
- Go 学习笔记(15)— 函数(01)[函数定义、函数特点、多值返回、实参形参、变长参数,函数作为参数调用]
1. 函数定义 Go 语言最少有个 main() 函数.函数声明告诉了编译器函数的名称,返回类型和参数. func funcName(parameter_list)(result_list) {fun ...
- android 调用js怎么获取返回值_js 函数
函数是一个特殊的对象 具名函数 function 函数名(形式参数1,形式参数2){ 语句 return 返回值 } 匿名函数 上门的具名函数,去掉函数名就是匿名函数 let a =function( ...
- 【Android 逆向】Android 进程注入工具开发 ( 远程调用 | x86 架构的返回值获取 | arm 架构远程调用 )
文章目录 前言 一.x86 架构的返回值获取 二.ARM 架构远程调用 前言 在之前的博客 [Android 逆向]Android 进程注入工具开发 ( 注入代码分析 | 获取 远程 目标进程 中的 ...
最新文章
- 巴特沃斯带通滤波器matlab程序_带通带阻滤波器频率计算方法如何算
- Oracle单机报监听不支持服务,(转)oracle 启动监听 报“监听程序不支持服务” 解决...
- Discuz! 7.2以下版本及各uc产品api接口Get webshell漏洞
- html class和id,css教程之样式表的基本语法(二) class(类)和id的一个小实例
- 【渝粤教育】 国家开放大学2020年春季 1013金融统计分析 参考试题
- 外部服务发现之 ingress(一) traefik 的安装使用
- java利用循环打印AVA,JAVA语言-AVA文件流
- readfile读取串口数据_谈一谈使用字体库加密数据仿58同城
- apex英雄机器人探路者怎么玩_《王者荣耀》新英雄澜怎么玩 《王者荣耀》新英雄澜连招推荐...
- linux下修改防火墙端口对外开放方法
- Simulink中利用Powergui进行FFT分析,但是信号源始终为空
- 谷歌地图网页版入口_巧用谷歌指令,利用Google Maps开发挖掘客户
- hdu5773 The All-purpose Zero(LIS变形)
- 计算机专业知识更新速度快,最近及计算机专业知识.doc
- IntelliJ IDEA 的 Code Coverage 测试
- 微信小程序canvas实现签名功能
- FleaPHP 开发指南
- 英雄联盟登录服务器显示错误码,lol登录失败_TGP一直验证账号,最后出现登录超时,错误码:1,L......
- Xilinx K7_Microblaze的Tmrintc定时器中断使用(ISE14.7)
- 2020.7.25 PAT线上考试后记
热门文章
- linux依据时间过滤文件,详解Linux查找目录下的按时间过滤的文件
- linux练习 串口跟进程6,linux下串口测试程序
- python 类可以调用实例变量_python面向对象中类对象、实例对象、类变量、实例变量、类方法、实例方法、静态方法...
- oracle11 处理器数,11G AWR中%Total CPU与%Busy CPU指标的疑问
- 【OpenCV 例程200篇】84. 由低通滤波器得到高通滤波器
- qt html导pdf 页眉,如何使用wkhtmltopdf unpatched qt在每个页面上添加页眉和页脚?
- 小程序弹出层禁止列表滑动_是时候展现真正的技术了!小程序教程来了——百战Web前端课程更新05.07...
- 【Jmeter篇】1小时轻松搞定项目接口自动化测试与数据驱动
- Mysql常用分组聚合函数(统计行的数量、最大值、最小值、平均值、求和)
- WinLogon事件通知包编程