如何使用jobject数组? (JNI)

实际上,我调用了一个c函数:

JNIEXPORT void JNICALL Java_test_main_JniFunctions_testObject(JNIEnv * env,jobject obj,jobjectArray objArray)

我想做的是取回原始对象的值 . 考虑此对象的java代码声明:

jniFct.testObject(new Object[][]
        {   
            {"testTable"},
            {0, 0.0, "aaa"},
            {1, 1.1, "bbb"},
            {2, 2.2, "ccc"}
        });

例如,从第二列的第三行获取值 .

有人知道怎么做吗?

回答(1)

2 years ago

jobject row = env->GetObjectArrayElement(objArray, 2);
jobject value = env->GetObjectArrayElement((jobjectArray)row, 1);
const char* cvalue = env->GetStringUTFChars((jstring)value, 0);