Как я могу передать путь к файлу локального файла на моем телефоне для моего приложения (Android)? - PullRequest
0 голосов
/ 04 апреля 2019

Я скомпилировал разделяемую библиотеку C ++ с помощью ndk и успешно загрузил ее из Android Studio, но теперь у меня проблема в том, что интерфейс моей библиотеки принимает строку в качестве пути к какому-либо файлу в качестве параметра, но я не знаю, как Я должен передать этот путь в мою библиотеку, и где я должен положить файл на моем телефоне?

Вот как выглядит мой интерфейс:

public final static native fun(String path);

1 Ответ

0 голосов
/ 05 апреля 2019

Вот и все, просто убедитесь, что вы отпустите его, когда закончите.

JNIEXPORT void JNICALL Java_classes_classes_fun
      (JNIEnv *env, jobject thiz, jstring path){

   const char *nativePath = (*env)->GetStringUTFChars(env, path, 0);

   // use your string as usual

   (*env)->ReleaseStringUTFChars(env, path, nativePath);
}

Также упоминается здесь: Как получить отправленную строку из кода Java в нативный C в Android

Что касается обработки файлов, вы можете использовать библиотеки C ++ STL.

https://developer.android.com/training/data-storage/files

Описывает, где вы можете хранить файлы лучше, чем я.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...