Ich habe ein String-Array wie {"myname","yourname","hisname"} und ich versuche, dieses Array zu senden C mit verwenden JNI. Ich konnte keine eindeutige Lösung dafür finden. Ich habe versucht, diese Zeichenfolge als eine zu nehmen chararray aber kein erfolg.
Gibt es eine Möglichkeit, dies zu tun?
8 Ball
Sie können eine einfache Funktion schreiben, die a akzeptiert jobjectArray Objekt, wandeln Sie jedes in jstring um und rufen Sie es dann auf GetStringUTFChars darauf.
Muss ich anrufen DeleteLocalRef auf das Temporäre jstring Objekt zurückgegeben von GetObjectArrayElement?
– Violette Giraffe
24. April 2020 um 17:37 Uhr
Ja, es gibt einen Weg. Sie würden die passieren String[] in Ihre native Methode von der Java-Seite und das würde auf der C/C++-Seite als jobjectArray. Sie würden dann verwenden GetObjectArrayElement() ein bekommen jstring bei einem bestimmten Index und dann verwenden GetStringUTFChars() oder GetStringChars() um einen C/C++-Zeiger auf die zugrunde liegenden Zeichenfolgendaten zu erhalten.
Und wenn Sie es nicht wissen, die JNI-Buch ist eine wertvolle Referenz.
thx als referenz. Ich lese es. Ich habe mein Problem mit dem Senden einer Zeichenfolge an die C-Seite gelöst. Ich habe versucht, ein Array zum Üben zu senden, und habe Erfolg. Thx für Hilfe. Es gibt zwei richtige Antworten und wenn es Ihnen nichts ausmacht, möchte ich 8ball einen Repräsentanten geben …