android JNI 与cocos结合篇(二)
2016-04-01 16:08
375 查看
整理来源:http://www.2cto.com/kf/201404/290498.html
1.JNI
JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。JNI实现流程:
2.C++与java交互流程图:
注:对于跨平台的 cocos2d-x 来说,除非必要,否则可不必深究其理,比如想要使用 Android 平台固有的特性等,那就需要更多的了解 Jni 使用方法,以及 Android 操作系统的更多细节。
3.实例:
实现功能:(1)通过Android sdk的API得到应用程序的包名(PackageName),然后传递给c++层函数。
(2)通过c++函数调用Android的java层函数,显示一个对话框,点击按钮退出程序。
4.实现步骤:
4.1 使用cocos2d-x创建工程DialogBox及搭配android环境android环境,如图:
4.2 c++部分
先到win32环境,编写提供android调用c++接口:
JniTest.h
?
HelloWorldScene.cpp
?
接着转到android平台,编写jni层代码:
test.h
?
?
4.3 Java部分:
c++函数调用java层函数,显示一个对话框:
JniTestHelper.java
?
?
?
<img src="http://www.2cto.com/uploadfile/Collfiles/20140403/2014040309145653.jpg" alt="[�棣m�堋丕倆0r堋�,佘鬏殕窡" http:="" www.2cto.com="" kf="" qianduan="" css="" "="" target="_blank" class="keylink" style="border-width: 0px; padding: 0px; margin: 0px; list-style:
none; width: 630px; height: 408.254px;">html
相关文章推荐
- Cocos2dx引擎9-注册事件监听器
- cocos2dx lua UI栈
- cocos2dx之box2d创建椭圆刚体
- cocos ios,other linker flags 加入 -objc 编译报错解决方案
- cocos2dx3.3视频播放的实现VideoPlayer的使用
- Cocos2d-x 3.4在AndroidStudio上编译配置
- cocos2d-x拼图游戏
- cocos2dx 防御式编程模式
- Cocos游戏引擎VRDemo正式放出 助力虚拟现实游戏开发
- Cocos2dx学习笔记12:cocos2dx进度条(ProgressTimer)
- Cocos2dx学习笔记11:cocos2dx调度器(scheduler)
- Cocos2dx学习笔记10:cocos2dx序列帧动画(1)
- CocoStudio使用笔记2:cocos2dx3.9使用CocoStudio制作的进度条LoadingBar
- CocoStudio使用笔记1:cocos2dx3.4加载CocoStudio导出的csb文件
- cocos: 无限循环滚动背景
- Cocos2d-JS V3.10 一个小bug提示
- cocos-js添加微信js sdk
- cocos2dx 内存管理
- Cocos2d-x 3.0正式版及android环境搭建详细教程
- cocos2dx之界面响应提速