Я собираюсь использовать JNI для реализации родной функции C++, которая получает два строковых массива, объединяет их в один массив строк и возвращает большой массив строк. На самом деле, я собираюсь расширить THIS до строковых массивов. Как я могу заполнить следующие коды?JNI Как объединить два строковых массива в C++ native function
Java код сторона:
String [] strarrayA={"abc", "def"}, strarrayB = {"123","456"};
String[] strarrayC = strarrayFromJNI(strarrayA, strarrayB);
public native String[] strarrayFromJNI(String[] first, String[] second);
Native код на стороне:
jarray
Java_com_androidMexample_MainActivity_strarrayFromJNI(
JNIEnv *env, jobject /* this */, jarray a, jarray b){
jsize alen = env->GetArrayLength(a);
jsize blen = env->GetArrayLength(b);
...
(How can I concatenate a and b to obtain c, result <- a, b ?)
return c;
}
Как я могу получить возвращаемый массив строк с strarrayC = { "ABC", "DEF", "123", "456"}? Заранее спасибо.
Спасибо Seva, он работает идеально. В моем коде я заменил «jarray» на «jobjectArray». – gnoejh