android Как вернуть массив из JNI в Java?
1
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
java android arrays jni
Я пытаюсь использовать андроид NDK.
Есть ли способ вернуть массив (в моем случае int[]
), созданный в JNI для Java? Если да, пожалуйста, дайте быстрый пример функции JNI, которая сделает это.
-Благодаря
104 votes
java