zoukankan      html  css  js  c++  java
  • cocos2d-x中Cocos2dxHelper.java -> .._.._Cocos2dxHelper.cpp(java调C++)

    cocos2d-x android java调用C++

    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!");
    
    
  • 相关阅读:
    图解设计模式-Visitor模式
    图解设计模式-Decorator模式
    图解设计模式-Strategy模式
    图解设计模式-Bridge模式
    HashMap源码
    LinkedList源码
    Vector源码
    ArrayList源码
    图解设计模式-Abstract Factory模式
    图解设计模式-Builder模式
  • 原文地址:https://www.cnblogs.com/Pobaby/p/5842734.html
Copyright © 2011-2022 走看看