Как использовать массив jobject?(JNI) - PullRequest
11 голосов
/ 10 ноября 2011

На самом деле я вызываю функцию 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 Ответ

12 голосов
/ 10 ноября 2011
jobject row = env->GetObjectArrayElement(objArray, 2);
jobject value = env->GetObjectArrayElement((jobjectArray)row, 1);
const char* cvalue = env->GetStringUTFChars((jstring)value, 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...