В классе MainActivity
, у меня есть массив файлов, указанный ниже, где getExternalFilesDirs()
- от ContextWrapper
класс.Как заставить строку стать файлом []?
File[] fs = getExternalFilesDirs(null);
Теперь, я не хочу писать getExternalFilesDirs
в MainActivity
классе, вместо этого, я хочу, чтобы определить getExternalFilesDirs()
как String
в .so файл. Поэтому я делаю это как в папке cpp.
JNIEXPORT jstring JNICALL
Java_com_test_MainActivity_callDirs(JNIEnv *env, jobject thiz) {
return (*env)->NewStringUTF(env, "getExternalFilesDirs(null)");
}
Тогда в MainActivity
классе, я называю callDirs()
которые возвращают getExternalFilesDirs(null)
.
То, что я пытался до сих пор назвать:
File[] fs = callDirs();
Ошибка: требуется Файл [], найдено String.
Как создать строку getExternalFilesDirs(null)
в качестве файла []?
Ваш код не начинает иметь смысл. Вы возвращаете имя функции вместо возвращаемого значения, а затем считаете, что это * - * возвращаемое значение. Вам не нужно писать код JNI для списка файлов в каталоге: см. 'File.listFiles()'. Неясно, что вы спрашиваете. – EJP
Люди, которые голосуют, должны объяснить хотя бы. Я понятия не имею –
@EJP да вот почему я спрашиваю, как вызвать функцию с именем getExternalFilesDirs (null), если все, что я получил, это String. Я не хочу писать его в обычном Java-классе, потому что это можно увидеть после обратной инженерии. –