在作cocosdx项目移植到android上时,预见各种头痛问题,今天首先就说说如何在 java 中调用c++ 代码。

这里就用百度定位为例吧,也是我项目中的一小块内容。首先,先百度一下 “百度定位sdk”的相关内容,

根据 百度定位SDK 中的提示在java 代码中加入api,本篇就用 Location.java和

MHGPSTools.cpp 俩个类之间进行互相调用。

首先 在Location.java 中 定义需要c++ 中调用的方法:

而在MHGPSTools.cpp中

注意上面代码中蓝色着重的方法名,此外该方法所带的参数,我们只需要注意后面两位,次参数的个数依据我们

在Location.java中的定义而决定,最后记住得释放 info,temp info2,temp2,写好以上方法后,在java代码调用

c++ 代码如下:

SendLocationGPS(String.valueOf(location.getLatitude()),String.valueOf(location.getLongitude())); //BDLocation location

接着我们在说说才c++ 中调用 java,同样是Location.java和MHGPSTools.cpp两个类,在.cpp中添加头文件

#include<jni.h>、#include"platform/android/jni/JniHelper.h" 然后接着定义方法StarUpdatePosition()

用来调用java 代码,如下:

在.java中 定义静态方法 public static void SendStartLocationGPSReq() 保持命名一致,这样就可以在c++ 中调用 StarUpdatePositio()

来实现调用.java 中SendStartLocationGPSReq() 方法。

cocos2dx 之 android java 与 c++ 互相调用 代码(以百度定位为例子)的更多相关文章

  1. Android Java 与 C++ 恒调用,路径、文件名、延长的最大长度

    /****************************************************************************  ********************* ...

  2. java tfserving grpc 通信调用代码解析 【重点参考】

    https://blog.csdn.net/shin627077/article/details/78592729/   [重点参考]

  3. android cocos2d-x for Android安装和学习笔记(请用adt-bundle21.1或以上导入)

    引用:http://weimingtom.iteye.com/blog/1483566 (20121108)注意:这篇文章用cdt编译ndk工程的内容已过时(现在可以用adt-bundle,避免配置繁 ...

  4. cocos2dx新建android项目lib拷贝、访问权限等问题集

    win7上面搭建cocos2dx的android项目,用create-android-project.bat新建一个项目时,出现了访问权限和项目无lib的问题. 解决方案: 1.项目无lib问题. 当 ...

  5. 【转】搭建Mac OS X下cocos2d-x的Android开发环境

    http://young40.github.io/blog/2013/02/23/setting-up-android-development-envirment-on-mac-os-x/ http: ...

  6. TalkingData Cocos2dx在android平台使用总结

    前言:最近发现很多朋友在使用TalkingData游戏版本Cocos2dx SDK使用过程中会出现的一些问题,今天来做一下总结,希望对您有所帮助: 首先非常感谢您使用TalkingData游戏统计平台 ...

  7. 搭建Mac OS X下cocos2d-x的Android开发环境

    版本 Cocos2d-x: cocos2d-2.1beta3-x-2.1.1 OS X: 10.8 Android ADT Bundle: v21.1.0 Android NDK: android-n ...

  8. cocos2dx 搭建 android 平台 -2

    1.配置Cocos2d-x for Xcode. 这一块比较简单, 可以参见其他文章. 重点:install-templates-xcode.sh 2.配置普通Android开发环境 这一块包括JDK ...

  9. cocos2dx 搭建 android 平台

    Mac OS X下配置Cocos2d-x for Android(Eclipse)&IOS(Xcode)开发环境 前面一段时间只用Cocos2d-x在IOS平台下开发, 学习Cocos2d-x ...

随机推荐

  1. Custom Web Servic In MOSS 2007

    Tools: Visual Studio 2008,Visual Studio 2008 Command Prompt, Sharepoint Server 2007 Generate .disco ...

  2. CentOS_7.2安装Redis_3.0

    一.安装依赖包和开发工具: yum install vim vim-enhanced wget zip unzip telnet ntsysv compat* apr* nasm* gcc gcc* ...

  3. ComboxEdit实现二级联动

    private void cmbXPROVINCE_SelectedIndexChanged(object sender, EventArgs e) { DataBind(cmbXPROVINCE, ...

  4. C#中REF和OUT的区别

    在C# 中,既可以通过值也可以通过引用传递参数.通过引用传递参数允许函数成员更改参数的值,并保持该更改.若要通过引用传递参数, 可使用ref或out关键字.ref和out这两个关键字都能够提供相似的功 ...

  5. [CentOS Server] Bug when calling matlab in bash

    尝试了好几遍,仍然不能用简写命令调用matlab,这里把过程记录如下. (1). 登录 server [She@She ~]$ ssh shecl@xx.xx.xx.xx Last :: from x ...

  6. AAS代码运行-第11章-2

    hdfs dfs -ls /user/littlesuccess/AdvancedAnalysisWithSparkhdfs dfs -mkdir /user/littlesuccess/Advanc ...

  7. .NET C# 将 mdb 中数据读为 list<string[]> 其中 path 为数据库地址 ,sql 为查询语句

    using System.Data; using System.Data.OleDb; public static List<string[]> select_list(string pa ...

  8. swift 定位

    iOS 8 及以上需要在info.plist文件中添加下面两个属性 NSLocationWhenInUseUsageDescription 使用应用期间 NSLocationAlwaysUsageDe ...

  9. 使用CSS3动画模拟实现小球自由落体效果

    使用纯CSS代码模拟实现小球自由落体效果: html代码如下: <div id="ballDiv"> <div id="ball">&l ...

  10. It will affect staff as well.

    Premier Foods has reduced its number of suppliers dramatically in the last 12 months. In 2013 it mad ...