Hallo alle zusammen!
Nachdem ich gestern eine weile suchen musste um das herauszufinden möchte ich das einfach hier reinposten, damit die Suchmaschinen andere und mich das nächste mal hier her leiten.
Jetzt kann man im Java der native Methode ein Object Array (Object[]) geben. In meinem Fall habe ich ein String array (String[]) übergeben und diesen im C wieder eingelesen.
Es wäre vielleicht schön, wenn noch jemand etwas zum releasen des Strings sagen könnte, das weiss ich nicht.
Muss man den jstring (bzw. das jobject) noch releasen?
Wenn ja wann?
Wenn ich die (const char*)'s nicht mehr brauche?
Nachdem ich gestern eine weile suchen musste um das herauszufinden möchte ich das einfach hier reinposten, damit die Suchmaschinen andere und mich das nächste mal hier her leiten.
PHP:
JNIEXPORT const char** JNICALL Java_de_unicate_snippets_receiveStringArray(JNIEnv * env, jobject obj, jobjectArray array) {
int size = env->GetArrayLength(array);
const char **files = new const char*[size];
for(int i=0;i<size;i++) {
jobject obj = env->GetObjectArrayElement(array, i);
const char *tmp = env->GetStringUTFChars((jstring)obj, false);
files[i] = tmp;
}
return files;
}
Jetzt kann man im Java der native Methode ein Object Array (Object[]) geben. In meinem Fall habe ich ein String array (String[]) übergeben und diesen im C wieder eingelesen.
Es wäre vielleicht schön, wenn noch jemand etwas zum releasen des Strings sagen könnte, das weiss ich nicht.
Muss man den jstring (bzw. das jobject) noch releasen?
Wenn ja wann?
Wenn ich die (const char*)'s nicht mehr brauche?