zoukankan      html  css  js  c++  java
  • cocos2d-x与android通信

    //.cpp
    private void callJava(const char* str)
    {
    #if(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
        JniMethodInfo methodInfo;
        //getStaticMethodInfo获取到MethodId和ClassId,ClassID通过穿进去的Activity即类名获取,MethodId通过函数名获取
        bool isHave = JniHelper::getStaticMethodInfo(methodInfo, "com/lengyuyue/cocos2dx/ForAndroid", "callJava", "(Ljava/lang/String;)V");
        if(isHave)
        {
            jstring jdata = methodInfo.env->NewStringUTF(str);
            methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, jdata);
        }
    #else
        CCLog("called with android, not other platform");
    #endif
    }
    
    extern "C"
    {
        //Java_包名_类名_方法名
        void Java_com_lengyuyue_cocos2dx_ForAndroid_callCpp(JNIEnv* env, jobject object, jstring data)
        {
            const char* txt = env->GetStringUTFChars(data, false);
            CCLog("%s", txt);
        }
    }
    //.java
    public static void callJava(String data) {
        System.out.println("call java's data = " + data);
        callCpp(data);
    }
    
    private static native void callCpp(String data);
  • 相关阅读:
    html优化
    HTML练习(网页计算器)
    hdu--4574 Bombs(dfs)
    Robots at Warehouse(搜索+vector的使用)
    poj 2111 Millenium Leapcow(记忆化搜索)
    Codeforces Round #408 (Div. 2) C. Bank Hacking(暴力啊!暴力)
    Gym
    Gym
    浙江省赛--D
    浙江省赛--C
  • 原文地址:https://www.cnblogs.com/leng-yuye/p/3641391.html
Copyright © 2011-2022 走看看