我用Java編寫的Android項目,它使用了一些openGL的東西NDK ..NDK,從C++傳遞原始數據到Java
我有一段cpp的函數,得到的號召,從那裏我想打電話給一個Java函數
C++:
JNIEXPORT void JNICALL
Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargetsRenderer_renderFrame(JNIEnv* env, jobject obj)
{
jclass activityClass = env->GetObjectClass(obj);
// Do something
char* argToPass = "Some string";
jmethodID functionID = env->GetMethodID(activityClass,
"CallBack", "()V");
env->CallObjectMethod(obj, functionID, 0);
}
的Java:
public void CallBack(string arg){
// Do sometihng
}
的問題是如何做我通過argToPass參數傳遞給Java函數
謝謝...
謝謝,但C++函數是無效的類型 – ibm123 2012-02-07 16:37:21
我知道 - 我用這種方式展示瞭如何創建Java兼容字符串。您可以將它傳遞給Java函數或返回它。 – BitBank 2012-02-07 16:42:03