在C JNI我的第一個函數的代碼是C JNI調用Java功能
void fun1()
{
jmethodID java_fun = (*global_env)->GetMethodID(global_env,cls_Env, "test1", "()V");
(*global_env)->CallVoidMethod(global_env,(*global_obj), java_fun);
}
我的第二個是
void fun2(int x)
{
jmethodID java_fun = (*global_env)->GetMethodID(global_env,cls_Env, "test2", "([I)V");
(*global_env)->CallVoidMethod(global_env,(*global_obj), java_fun,(int)x);
}
在我的Java方面的第一個C函數的代碼是
private void test1()
{
System.out.printf("test1");
callfunction();
}
void callfunction()
{
System.out.printf("how i can get here??");
}
第一個問題是我怎樣才能從C調用callfunction()?
現在對於第二個C函數的第二個Java代碼
public int var1;
private void test2(int x)
{
System.out.printf("test2");
var1=x;
}
第二個問題是如何從C面保存我的數據在Java方面?
感謝
你爲什麼不定義'jmethodID'爲** callfunction()**?看來你是在** test2 **方法的正確軌道... – 2016-06-27 16:08:28