Проблема с сохранением файлов на xiaomi redmi 3

596
15 июля 2017, 07:03

Всем привет!

У меня есть код, который сохраняет текстовый файл. Но я не указываю куда именно его нужно сохранить, он куда-то сохраняется по умолчанию. Я решил узнать, куда же сохраняет все эти файлы и вписал такой код после того как файл сохраняется:

Log.d(TAG, newfile.getAbsolutePath());

В логах пишет такой путь: /data/data/com.example.admin.notepadv1/files

Но проблема в том, что папки com.example.admin.notepadv1 - не существует. В папке data/data есть только одна папка с названием com.elex.im.cok.app , в нем папка config, а в нем файл user_session Ничего близкого к моему сохраненному файлу я не нашел.

Вопросы:

  1. Как найти папку куда сохраняются файлы? На самсунге эта программа работает нормально, файл создается, а вот на xiaomi redmi - нет
  2. Как мне указать папку, куда нужно сохранять файл?
Answer 1

Насколько я понимаю, Вы сохраняете файлы в Internal Storage.

Исходя из документации, файлы, сохраненные в Internal Storage, видны только приложению, которое их сохранило и не видны сторонним программам и пользователю. Это некая песочница приложения. Однако получить доступ к этим файлам можно, имея рут-права.

Могу путать, но на каких-то версиях системы или у каких-то вендоров достучаться до этой области памяти таки можно было даже без рута.

Как мне указать папку, куда нужно сохранять файл?

При создании объекта newfile явно укажите путь к директории (первый параметр):

File file = new File(getFilesDir(), "FileName.txt");

или

File file = new File(Environment.getExternalStorageDirectory(), "FileName.txt");

В первом случае, файл расположен в Internal Storage, во втором – в External Storage, которую Вы можете свободно просматривать.

UPD. Из комментариев:

Стоит добавить, что для второго случая необходимо получить пермишн <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Да, разумеется, получить пермишн необходимо. Также необходимо проверить стейт External Storage и еще много всяких вещей. Но цель этого ответа – в общих чертах, а не энциклопедически, обрисовать тему, поэтому для более глубокого изучения работы с файлами в Android – необходимо почитать соответствующие доки или литературу.

READ ALSO
Помогите с реализацией игры

Помогите с реализацией игры

Суть игры заключается в том, что есть 3 круга красного цвета, случайным образом выбирается один из них и закрашивается в зеленыйВ течении...

226
Почему код работает в java 7 и не работает в java 8?

Почему код работает в java 7 и не работает в java 8?

Я использую в данный момент IDE Eclipse Version: Neon2 Release (4

153
Spring inline-script

Spring inline-script

Добрый деньИзучаю спринг по книге spring in action

258