Как записать в локальный файл P C из приложения Android emulator - PullRequest
0 голосов
/ 13 марта 2020

Я искал несколько часов и натолкнулся на множество бессмысленных мыслей по поводу того, что это доступно только для чтения, а также папок и каталогов и просмотра телефона fs, et c. et c.

Все, что я хочу сделать, - это записать файл в моем P C для проекта Android. Я пытался использовать локальные пути (Windows) и столкнулся с системными проблемами, доступными только для чтения, даже после полного преобразования нужной папки для чтения и записи, Android отказывается ее получить. Я установил разрешения на использование в моем манифесте с помощью WRITE_EXTERNAL_STORAGE и WRITE_INTERNAL_STORAGE, но безуспешно.

Я пытался писать в телефон через эмулятор и реальный физический телефон, но каждый поиск, который я выполняю, ничего не дает (поиск имя файла).

Как я могу записать в файл журнала любой файл, в котором находится исходный код моей разработки? Мне нужно переварить JSON данные из вызова веб-службы, и мне нужно, чтобы они были записаны в локальный файл, чтобы я мог работать с ним. Звонки через Android, в настоящее время эмулятор и установка на физическое устройство, но журнал не записывается, потому что либо проблема только для чтения, которая не имеет смысла, либо я просто не могу найти этот чертов файл.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 15 марта 2020

Полагаю, что в конечном итоге вопрос, который я задал, был слишком запутанным. Я хотел узнать, где я могу найти «локальные» журналы на моем устройстве Android, которые я могу открыть и прочитать самостоятельно в каком-то текстовом редакторе. Я также хотел знать, где «локальные» журналы / файлы записываются на мой жесткий диск при тестировании приложения с помощью эмулятора.

На данный момент я не нашел ничего, относящегося к файлу журнала или любому произвольному файлу. Возможность записи из приложения Android в локальное устройство P C без извлечения из чего-то вроде adb.

Я нашел решение, где я могу записать произвольные файлы в эмулятор или файловая система телефона (Источник: https://www.journaldev.com/9383/android-internal-storage-example-tutorial):

FileOutputStream fos = Main.getAppContext().openFileOutput( "myfile.txt", Context.MODE_PRIVATE );
fos.write( "Hello, world".getBytes() );
fos.close();

Некоторые вещи, на которые следует обратить внимание (по крайней мере, Android SDK 26+, другие не проверены):

  1. FileOutputStream работает очень хорошо.
  2. «Основной» относится к любому классу точки входа, который вы используете для своего приложения. Скорее всего (или обязательно?) Он распространяется AppCompatActivity.
  3. Context.MODE_PRIVATE, кажется, требуется.
  4. AndroidManifest. xml права доступа READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE, READ_INTERNAL_STORAGE, WRITE_INTERNAL_STORAGE НЕ кажутся необходимыми.
  5. Важно : файлы будут сохранены в /data/data/YOUR.APP.PACKAGE/files/.

Это также было полезно: https://developer.android.com/training/data-storage

...