coocs2d-x中c++与java互相传值(数组)

2014-11-24 08:39:13 · 作者: · 浏览: 0
c++代码
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)  
    JniMethodInfo minfo;  
    bool isHave = JniHelper::getStaticMethodInfo(minfo,  
        "com/xxx/org/hzhero", "xxxx", "([S)Ljava/lang/String;");  
    if (isHave)  
    {  
        jshortArray tracks = minfo.env->NewShortArray(mCount);  
        minfo.env->SetShortArrayRegion(tracks,0,mCount,mTracks);  
  
        jobject jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID,tracks);  
        jstring jresult = (jstring)jobj;  
        const char *s = minfo.env->GetStringUTFChars(jresult, 0);  
        string sresult(s);  
        CCLog("result = %s",sresult.c_str());  
    }  
    else  
        CCLog("recognize error---------");  
#endif  

java代码
public static String xxxx(short[] mTemp) {  
        short[] m_Data = new short[mTemp.length ];  
        for (int i = 0; i < mTemp.length; i++) {  
            m_Data[i] = mTemp[i];  
        }  
        String str = "qqqq" ;  
        return str;  
    }