首页 文章 精选 留言 我的

精选列表

搜索[游戏],共9901篇文章
优秀的个人博客,低调大师

【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(下)

示例代码段2: Xcode 代码: //静态函数示例2.有参数,无返回值------------------------------$$$$$$$-------------------------------- #if(CC_TARGET_PLATFORM==CC_PLATFORM_ANDROID)//判断当前是否为Android平台 JniMethodInfominfo;//定义Jni函数信息结构体 //getStaticMethodInfo次函数返回一个bool值表示是否找到此函数 boolisHave=JniHelper::getStaticMethodInfo(minfo, "com/ai/ommr/OhMonsterMR4Android","testFunWithInt","(I)V"); if(!isHave){ CCLog("jni:此函数不存在"); }else{ CCLog("jni:此函数存在"); //调用此函数 minfo.env->CallStaticVoidMethod(minfo.classID,minfo.methodID,823); } CCLog("jni-java函数执行完毕"); #endif Android(Java) 代码: //静态函数示例2.有参数,无返回值 publicstaticvoidtestFunWithInt(int_int){ Log.e("Himi","静态函数示例1.有参数,无返回值;传入的参数int="+_int); } 运行截图: 示例代码段3: Xcode 代码: //静态函数示例3.有参数,有返回值--------------------------------$$$$$$$-------------------------------- #if(CC_TARGET_PLATFORM==CC_PLATFORM_ANDROID)//判断当前是否为Android平台 JniMethodInfominfo;//定义Jni函数信息结构体 //getStaticMethodInfo次函数返回一个bool值表示是否找到此函数 boolisHave=JniHelper::getStaticMethodInfo(minfo, "com/ai/ommr/OhMonsterMR4Android","testFunWithIntAndRtn","(I)I"); jint_int; if(!isHave){ CCLog("jni:此函数不存在"); }else{ CCLog("jni:此函数存在"); //调用此函数 _int=minfo.env->CallStaticIntMethod(minfo.classID,minfo.methodID,823); //尝试jint是否能正常接收返回的int值 JniMethodInfominfo_ty; boolisHave=JniHelper::getStaticMethodInfo(minfo_ty,"com/ai/ommr/OhMonsterMR4Android","testFunWithInt","(I)V"); if(isHave){ minfo_ty.env->CallStaticVoidMethod(minfo_ty.classID,minfo_ty.methodID,_int); } } CCLog("jni-java函数执行完毕"); #endif Android(Java) 代码: //静态函数示例3.有参数,有返回值 publicstaticinttestFunWithIntAndRtn(int_int){ Log.e("Himi","静态函数示例1.有参数,有返回值;传入的参数int="+_int); return_int+1000; } 运行截图: 示例代码段4: Xcode 代码: #if(CC_TARGET_PLATFORM==CC_PLATFORM_ANDROID)//判断当前是否为Android平台 JniMethodInfominfo;//定义Jni函数信息结构体 //getStaticMethodInfo次函数返回一个bool值表示是否找到此函数 boolisHave=JniHelper::getStaticMethodInfo(minfo,"com/ai/ommr/OhMonsterMR4Android","testFunWithStringAndRtn","(I)Ljava/lang/String;"); jobjectjobj; if(!isHave){ CCLog("jni:此函数不存在"); }else{ CCLog("jni:此函数存在"); //调用此函数 jobj=minfo.env->CallStaticObjectMethod(minfo.classID,minfo.methodID,823); } CCLog("jni-java函数执行完毕"); #endif Android(Java) 代码: //静态函数示例4.有参数,有返回值(String类型) publicstaticStringtestFunWithStringAndRtn(int_int){ Log.e("Himi","静态函数示例4.有参数,有返回值(String类型);int="+_int); return"yes,return'String'isOK--byHimi"; } 运行截图: 示例代码段5: Xcode 代码: #if(CC_TARGET_PLATFORM==CC_PLATFORM_ANDROID)//判断当前是否为Android平台 JniMethodInfominfo;//定义Jni函数信息结构体 //getStaticMethodInfo次函数返回一个bool值表示是否找到此函数 boolisHave=JniHelper::getStaticMethodInfo(minfo, "com/ai/ommr/OhMonsterMR4Android",//类的路径 "rtnActivity",//方法名 "()Ljava/lang/Object;");//括号里的是参数,后面的是返回值。 jobjectjobj; if(isHave){ jobj=minfo.env->CallStaticObjectMethod(minfo.classID,minfo.methodID); } CCLog("正确获取到jobj"); // isHave=JniHelper::getMethodInfo(minfo, "com/ai/ommr/OhMonsterMR4Android",//类的路径 "nostaticFun",//方法名 "()V");//括号里的是参数,后面的是返回值。 if(isHave){ minfo.env->CallVoidMethod(jobj,minfo.methodID); } CCLog("jni-java函数执行完毕"); #endif Java 代码: //----函数示例之非静态函数调用 //(先获取个对象) publicstaticActivityactInstance;//定义单例 publicstaticObjectrtnActivity(){ returnactInstance; } //使用此对象进行调用非静态函数 publicvoidnostaticFun(){ Log.e("Himi","nostaticFunctionisOK-ByHimi"); } 运行截图: 本文转自 xiaominghimi 51CTO博客,原文链接:http://blog.51cto.com/xiaominghimi/908818,如需转载请自行联系原作者

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册