Как вернуть массив из JNI в Java?


0 Answers

если кто-то хотел бы знать, как вернуть массив String []:

код Java

private native String[] data();

собственный экспорт

JNIEXPORT jobjectArray JNICALL Java_example_data() (JNIEnv *, jobject);

собственный код

  JNIEXPORT jobjectArray JNICALL   
               Java_example_data  
  (JNIEnv *env, jobject jobj){  

    jobjectArray ret;  
    int i;  

    char *message[5]= {"first",   
                       "second",   
                       "third",   
                       "fourth",   
                       "fifth"};  

    ret= (jobjectArray)env->NewObjectArray(5,  
         env->FindClass("java/lang/String"),  
         env->NewStringUTF(""));  

    for(i=0;i<5;i++) {  
        env->SetObjectArrayElement(  
        ret,i,env->NewStringUTF(message[i]));  
    }  
    return(ret);  
  }  

по ссылке: http://www.coderanch.com/t/326467/java/java/Returning-String-array-program-Java

Question

Я пытаюсь использовать андроид NDK.

Есть ли способ вернуть массив (в моем случае int[] ), созданный в JNI для Java? Если да, пожалуйста, дайте быстрый пример функции JNI, которая сделает это.

-Благодаря






Related