近期在研究cocos2d游戏移植安卓须要调用非常多方法。所以在研究之中写下它们之间相互调用

首先,cocos2d调用安卓

在一个.h文件里加入头文件

#include <jni.h>

#include "platform\android\jni\JniHelper.h"

JniMethodInfo minfo;//定义Jni函数信息结构体

//getStaticMethodInfo 次函数返回一个bool值表示是否找到此函数

bool isHave = JniHelper::getStaticMethodInfo(minfo, "com/zhangying/jni/applay", "testFunWithStringAndRtn", "(I)V");

com/zhangying/jni/applay參数为调用安卓中的类的全路径。

testFunWithStringAndRtn为类中要调用的方法

(I)V  返回值和传入參数的类型

jobject jobj;

if (!isHave) {

CCLog("不存在");

}

else{

CCLog("存在");

//调用此函数

jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID, this->choiceMoney);

// ReadData::setUserDefaultInt("RECHARGE", this->choiceMoney);

}

完毕以上步骤就能够測试cocos2d调用安卓中的代码了

然后安卓调用cocos2d

首先在项目中找到jni中的hellocpp中的main.cpp

在当中增加

#include <android/log.h>

#include "data/ReadData.h"





#define  LOG_TAG    "main"

#define  LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__)





using namespace cocos2d;

void cocos_android_app_init (JNIEnv* env, jobject thiz) {

    LOGD("cocos_android_app_init");

    AppDelegate *pAppDelegate = new AppDelegate();

}

一下代码是自己增加的 上面的一些自带的不用改动

extern "C"

{

#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)

void Java_com_yiqu_mobilesdk_iap_IAPOrder_callbackMobiles(JNIEnv *env, jobject thiz)

{





CCLog("測试是否进入");



}

#endif

}

注意:

Java_com_yiqu_mobilesdk_iap_IAPOrder_callbackMobiles这个名字不是随便定义的

Java是固定的com.yiqu.mobilesdk.iap是包名 IAPOrder是类名字,callbackMobiles是你要调用的方法名字

这样就写成了这种方法

在你要调用cocos2d的java类中写上要调用的方法名字 写法例如以下

public native static void callbackMobiles();  名字随便定义,可是native不能丢掉

然后在该类中直接调用callbackMobiles()

就能够直接进入到CCLog("測试是否进入");中了

哈哈 结束了,这是本人正在用的游戏中支付的一块代码调用,执行都正常,如有不好的地方望指出

也可进入群:252799892  大家一起交流

假设感觉对你有帮助给个评价

关于cocos2d-x 和安卓之间的相互调用的更多相关文章

  1. JAVA和C/C++之间的相互调用。

    在一些Android应用的开发中,需要通过JNI和 Android NDK工具实现JAVA和C/C++之间的相互调用. Java Native Interface (JNI)标准是java平台的一部分 ...

  2. C 程序与 C++ 程序之间的相互调用

    因为 C 编译器编译函数时不带参数的类型信息,只包含函数的符号名字.如 void foo( int x ) , C 编译器会将此函数编译成类似 _foo 的符号,C 链接器只要找到了调用函数的符号,就 ...

  3. C#与Javascript变量、函数之间的相互调用

    原文地址:http://blog.csdn.net/wonsoft/article/details/2595743 C#与Javascript变量.函数之间的相互调用  一.javascript调用C ...

  4. uLua学习笔记(三):Unity3D和Lua之间的相互调用

    这篇笔记主要集中学习一下uLua和Unity3D之间相互调用的方法,我们导入了uLua之后,现在会弹出一个类似学习屏幕的东西,如下: 先赞一个! Unity3D调用Lua Unity3D调用Lua的方 ...

  5. Iframe父页面与子页面之间的相互调用

    iframe元素就是文档中的文档. window对象: 浏览器会在其打开一个HTML文档时创建一个对应的window对象.但是,如果一个文档定义了一个或者多个框架(即:包含一个或者多个frame或者i ...

  6. 两个java工程之间的相互调用方法

    如果你有两个java项目的话,如何向他们之间进行信息的通信前提:必须知道要通信的java项目(接收请求方)的服务器的IP地址和访问路径.其实两个java项目之间的通信还是使用HTTP的请求.主要有两种 ...

  7. 032 搭建搜索微服务01----向ElasticSearch中导入数据--通过Feign实现微服务之间的相互调用

    1.创建搜索服务 创建module: Pom文件: <?xml version="1.0" encoding="UTF-8"?> <proje ...

  8. 关于ifram之间的相互调用

    window.iframeId.btnClose.click(); 父调子 window.parent.FatherFunciton(); 子调父

  9. Unity与iOS原生代码之间的相互调用

    1.Unity调用iOS: 1.1.在Unity C#中: [ DllImport( "__Internal" )] private static extern int _show ...

随机推荐

  1. IntelliJ IDEA 使用技巧一览表

    IntelliJ IDEA使用技巧一览表 在使用 InelliJ IDEA 的过程中,通过查找资料以及一些自己的摸索,发现这个众多 Java 程序员喜欢的 IDE 里有许多值得一提的小窍门,如果能熟练 ...

  2. live-server 快速搭建静态服务

    作为切图仔呢,平时都是在修改页面样式.展示后台返回的数据.调试js效果,这时候呢就需要搭一个服务器以便我们调试.平时我一般用的都是wamp,在www目录下新建项目然后开始撸代码,不过有时候呢不太方便, ...

  3. SQL查询数据后在连成字符串方法

    CREATE TABLE tb ( user_id INT, type_id TINYINT ); INSERT INTO tb (user_id, type_id) VALUES (1,11); I ...

  4. 【POJ1067】取石子游戏(威佐夫博弈)

    题意:有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子. 游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子. 最后把石子全部取完 ...

  5. 一个request,但是controller被执行了多次的问题

    原文发布时间为:2011-09-25 -- 来源于本人的百度文章 [由搬家工具导入] 这两天竟然被一个bug整疯了,因为项目调试的时候,通过 sql profiler 查看,竟然执行了多次的相同 查询 ...

  6. jquery.transform

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 三、Ubuntu 使用Xshell

    1.下载一个Xshell 2.输入命令:ssh  root@Ubuntu的ip地址 输入密码,即可连接 如果遇到不可连接.在Ubuntu中输入命令 vim /etc/ssh/sshd_config 更 ...

  8. ef core 使用include进行外键连接查询

    在entity framework core中,如果两个实体涉及到外键连接,查询的时候默认是只查自身而不会去查询外键表的.如果想要让查询结果包含外键实体,则需要使用include方法来让查询结果包含外 ...

  9. 牛客网 牛客小白月赛2 H.武-最短路(Dijkstra)

    H.武 链接:https://www.nowcoder.com/acm/contest/86/H 这个题写的有点想发脾气,自己的板子垃圾了,这个题要用优先队列优化版的迪杰斯特拉的板子才可以过,但是自己 ...

  10. Python中xml、字典、json、类四种数据的转换

    最近学python,觉得python很强很大很强大,写一个学习随笔,当作留念注:xml.字典.json.类四种数据的转换,从左到右依次转换,即xml要转换为类时,先将xml转换为字典,再将字典转换为j ...