Cocos2d-x3.1通过JniHelper类调用java中非静态函数
来源:互联网 发布:淘宝卖点卡 编辑:程序博客网 时间:2024/05/16 16:08
1、创建Cocos2d-x3.1工程
在调用静态函数文章中有详细介绍。
2、将工程导入XCode
在调用静态函数的文章中有详细介绍
3、将工程导入ADT
在调用静态函数的文章中有详细介绍,遇到的错误及解决办法都有描述。
4、在Xcode中添加如下代码
通过修改关闭按钮实现静态与非静态代码的调用。在voidHelloWorld::menuCloseCallback(Ref* pSender)添加如下代码:
void HelloWorld::menuCloseCallback(Ref* pSender){//平台判断#if(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) JniMethodInfo info; //判断org/cocos2dx/cpp/AppActivity.java中是否存在getObj静态函数 bool ret = JniHelper::getStaticMethodInfo(info,"org/cocos2dx/cpp/AppActivity","getObj","()Ljava/lang/Object;"); jobject jobj;//用于存放返回的对象 if(ret) { log("call void getObj() succeed"); jobj = info.env->CallStaticObjectMethod(info.classID,info.methodID);//调用getObj函数,返回一个对象 } //判断org/cocos2dx/cpp/AppActivity.java中是否存在func1非静态函数 bool re = JniHelper::getMethodInfo(info,"org/cocos2dx/cpp/AppActivity","func1","()V"); if(re) { log("call func1 succeed"); info.env->CallVoidMethod(jobj,info.methodID);//通过返回的对象调用非静态函数 } #endif}
5、在ADT中的src/org.cocos2dx.cpp下AppActivity.java中添加如下代码
public static Object getObj(){Log.e("Static", "func");return instance;}private Intent i;public void func1(){Log.e("unStatic", "func1");i = new Intent(AppActivity.this,MyService.class);startService(i);}
6、编译运行
如有问题翻看前面关于在Java中调用静态函数的文章。
1 0
- Cocos2d-x3.1通过JniHelper类调用java中非静态函数
- Cocos2d-x3.1通过JniHelper调用Java类中静态函数
- Cocos2d-x3.1通过JniHelper调用Java类中静态函数
- Cocos2d-x中通过JNI进行C++调用Java代码 JniHelper类的使用
- cocos2d-x调用java中非静态方法以及静态方法注意事项以及示例
- Cocos2dx通过JniHelper调用java函数,报错error link2019: 无法解析的外部命令
- Cocos2d-x3.3RC0通过JNI调用Android的Java层URI代码发送短信
- Cocos2d-x3.3RC0通过JNI调用Android的Java层代码,实现分享功能
- c++中非静态函数不能用类名调用,为什么CWnd的成员函数GetDC()可以直接调用啊?
- cocos2dx:C++层通过JniHelper调用JAVA层代码进而调用Android手机应用接口
- cocos2d-x 使用JniHelper 调用 java代码 获取安卓生成的唯一标示UUID
- JniHelper调用java静态和非静态方法总结(即cocos2dx中调用android平台下显示第三方广告)
- JniHelper调用java静态和非静态方法总结(即cocos2dx中调用android平台下显示第三方广告)
- JniHelper调用java静态和非静态方法总结(即cocos2dx中调用android平台下显示第三方广告)
- JniHelper调用java静态和非静态方法总结(即cocos2dx中调用android平台下显示第三方广告)
- php中非静态方法的静态调用
- cocos2d-x 中JniHelper类的使用
- cocos2d-x Jnihelper类的使用
- 出现<authentication mode="Windows"/>错误解决办法
- 的发表的发表的发表
- HDU 3966 Aragorn's Story 树链剖分
- 速度vbsdvsd
- Reverse Words in a String
- Cocos2d-x3.1通过JniHelper类调用java中非静态函数
- Git与Repo入门
- TreeSet有趣问题之add方法原理
- 第四章 通过示例探索 F# 和 .NET 库
- Android开发资源推荐第2季
- Hadoop-2.4.0安装和wordcount运行验证
- linux下服务器命令小结【持续更新】
- 使用CURL封装HttpClient
- oracle 执行计划