COCOS2D-X之CPP调用Android函数Demo
来源:互联网 发布:餐厅日报表的算法 编辑:程序博客网 时间:2024/05/22 02:11
希望这篇文章能够给大家带来帮助废话少说直接在COCOS2D-X自带的HelloCpp中添加代码如下:
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) #include <jni.h> #include "jni/JniHelper.h"#endifbool HelloWorld::init(){ CCLayer::init();#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) const char* pStr = "Cpp Call Java Function!!!"; JniMethodInfo MethodInfo; bool BExist = JniHelper::getStaticMethodInfo(MethodInfo,"mm/nn/oo/HelloCpp","ShowMessageFromNative","(Ljava/lang/String;)V"); if (BExist) { jstring Str = MethodInfo.env->NewStringUTF(pStr); MethodInfo.env->CallStaticVoidMethod(MethodInfo.classID,MethodInfo.methodID,Str); MethodInfo.env->DeleteLocalRef(Str); MethodInfo.env->DeleteLocalRef(MethodInfo.classID); }#endif return true;}然后我们修改MK文件在相应的地方分别加上如下语句:
LOCAL_WHOLE_STATIC_LIBRARIES += PluginProtocolStatic$(call import-moudle,plugin/protocols/proj.android/jni)我们Android中的代码看起来是这样的(只显示我们这里需要关注的)
package mm.nn.oo;public class HelloCpp extends Cocos2dxActivity{ public static Activity mContext; static Handler Statichandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case 1: String StrMsg = (String)msg.obj; Toast.makeText(mContext,StrMsg,Toast.LENGTH_SHORT).show(); break; default: break; } }; }; public static void ShowMessageFromNative(String str) { Message msg = new Message(); msg.what = 1; msg.obj = str; Statichandler.sendMessage(msg); }最后附上本工程下载地址http://t.cn/8sPuK2J那就说到这里了拜拜
0 0
- COCOS2D-X之CPP调用Android函数Demo
- CPP通过JNI调用JAVA函数Demo
- Cocos2d-x-3.4 从零开始之 AppDelegate.cpp
- cocos2d-x-3.2之cpp-tests框架,cocos2d
- COCOS2D-X之拖动精灵Demo
- COCOS2D-X之CCHttpRequest下载图片Demo
- COCOS2D-X之CCHttpRequest下载图片Demo
- cocos2d-x 3.0 android mk文件 之 自动遍历*.cpp文件
- cocos2d-x 3.0 android mk文件 之 自动遍历*.cpp文件
- cocos2d-x 3.3 android mk文件 之 自动遍历*.cpp文件
- Cocos2d-x之Hash函数
- cocos2d-x之函数更新
- Cocos2d-x 关于Android.mk 自动读入CPP
- Cocos2d-x 关于Android.mk 自动读入CPP
- cocos2d-x在Android.mk中自动添加Cpp
- Cocos2d-x自动添加源文件(*.CPP)到Android工程
- cocos2d-x初步---生命周期函数的调用
- cocos2d-x下c++调用lua函数
- 3.6. Building RPMs from Source
- 50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段
- linux下播放器设计和开发
- IPD流程在华为15年发展历程…
- C#的6种常用集合类大比拼
- COCOS2D-X之CPP调用Android函数Demo
- ZOJ 3763 —— Plasma Field(几何,数学)
- 设计模式学习(四)——装饰者模式
- Android发展史
- hadoop错误
- WinXP操作系统优化精髓
- AJAX--模板代码记录
- Spring 3.x jar 包详解 与 依赖关系
- 1111