0

Я хочу сохранить файл на телефоне. new File(directory, myCustomFolder).Android Понимание путей хранения

  • Мои файлы большие и MP3

1 - Environment.getExternalStorageDirectory() не всегда доступа, чтобы сохранить файл. На некоторых телефонах, у которых нет SD-карты, нет и ничего не возвращать. :(

2 -. getFilesDir() после unistall моего приложения мои файлов удалить (не подходящее место для хранения файлов) :(

3 - getCacheDir() после unistall моего приложения моих файлов удалить (не правильное место для хранения файлов) :(

4 -.. getDataDirectory() после unistall моего приложения мои файлов удалить (не подходящее место для хранения файлов) :(

  • Теперь, как я могу различить правильное место и защищать и всегда доступно для сохранения моих файлов?
  • Мне нужна SD-карта, если ее не было, у меня есть мои файлы, хранящиеся во внутренней памяти и в общедоступном (общедоступное означает, что нет сохранения в папке с данными приложения). ? !!
  • Приложения, такие как WhatsApp и Telegram, как сделать папку в две внешние памяти и внутреннюю память?

Пожалуйста, помогите me.thanks

ответ

1

Вы всегда можете создать папку для вашего приложения в папке Downloads. Он всегда будет там. Вы можете получить к нему доступ через Environment.getExternalStoragePublicDirectory(Environment.DI‌​RECTORY_DOWNLOADS). И поскольку вы сохраняете файлы, это делает его еще более подходящим местом для его хранения, не так ли?

+0

'Environment.getExternalStoragePublicDirectory (Environment.DI RECTORY_DOWNLOADS)' всегда доступен и существует и доступен для записи и mkDires() верно? – grizzly

+0

Да, он всегда доступен. Вы также можете использовать 'mkdir()' для создания в нем папок (например, storage/emulated/0/Downloads/YourFolderHere) –

+0

В некоторых телефонах есть два хранилища и два 'DI RECTORY_DOWNLOADS', так что выбрано для сохранения файла? (пример: storage/sdcard0/Downloads/YourFolderHere ------- storage/sdcard1/Downloads/YourFolderHere) – grizzly

Смежные вопросы