English 中文(简体)
从土著法典(jni)通过 in,在 j瓦加以修改,并通过论点加以回击。
原标题:Passing an int from native code (jni) to java, modify it in java and pass back via arguments

I have a thread in my native Code (c++) and this thread calls a callback function in java with a passed integer in agument. The callback function in java should modify this integer and returns true or false. The native code sould work with the new (modified) integer.

例:

C-Code:

doSomething()
{
     int id = 5;
     callback_fct(&id)
}

callback_fct(int* id)
{
    jclass integerClass = (env)->FindClass("java/lang/Integer");
    jmethodID midConstructor = (env)->GetMethodID(integerClass, "<init>", "(I)V");
    jmethodID midIntValue = (env)->GetMethodID(integerClass, "intValue", "()I");
    jobject integerObject = (env)->NewObject(integerClass, midConstructor, *id);

            //id should be 5
    int res = env->CallIntMethod(appl_object, mid, integerObject);

    *id= env->CallIntMethod(integerObject, midIntValue);
            //id should be 99 now
}

Java-Code:

private int callback( Integer ID)
{
    Log.i("JavaWrapper", "callback");
    Log.i("JavaWrapper", "Old ID: " + ID); //should be 5
    ID = 99;
    Log.i("JavaWrapper", "New ID: " + ID);  //should be 99
    return 0;
}

谁能给我一个简短的例子?

Thanks

问题回答

暂无回答




相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签