zoukankan      html  css  js  c++  java
  • cocos2d-x android java调用C++

    转自:http://www.cnblogs.com/mokey/archive/2013/04/10/3012961.html

    java调用C++

    1.在jniHelper.java文件中定义一个方法 代码如下

    public static native void SendInfo(String info);
    //注释:关键字 native

    2.在存放AppDelagate.cpp的文件夹中添加一个jniTest.h文件

    3.在jniTest.h实现一个方法 代码如下

    #ifndef __JNI_TEST_H__
    #define __JNI_TEST_H__
    
    #include "cocos2d.h"
    using namespace cocos2d;
    
    void SendInformation(const char* info)
    {
        CCMessageBox("title",info);
    }
    
    #endif // __HELLOWORLD_SCENE_H__

    4.在test.cpp中添加代码

    #include "jniTest.h"extern "C"
    {
    
        void Java_com_newtest2_jniHelper_SendInfo(JNIEnv *env, jobject thiz, jstring info)
        {
            const char *temp = env->GetStringUTFChars(info, NULL);
            SendInformation(temp);
            env->ReleaseStringUTFChars(info, temp);
        }
    }
    注释:
    1.Java_com_newtest2_jniHelper_SendInfo  ”Java”开头   ”com_nretest2”为包名  ”jniHelper”为对应的java文件  ”SendInfo”为对应的方法  使用”_”连接
    2.(JNIEnv *env, jobject thiz, jstring info) 只有jstring info为自己的参数  其余两个为自带参数

    5.在起始文件newtest2.java中调用jniHelper.java文件中的方法 代码如下

    jniHelper.SendInfo("send info seccesfully!");
  • 相关阅读:
    iOS React Native实践系列二
    iOS React Native实践系列一
    ios各种兼容记录
    ios的__weak、__strong关键字
    index使用基本原则
    mysql explain详解
    手写迷你Tomcat
    动态代理
    C#设计模式(23种模式)
    unity 序列化和反序列化
  • 原文地址:https://www.cnblogs.com/sevenyuan/p/3684333.html
Copyright © 2011-2022 走看看