Способ сохранить кэш приложения во внутренней SDCard в Android? - PullRequest
1 голос
/ 06 мая 2011

В моем приложении загружается много файлов с сервера.Я хочу кешировать их в SDCard.для этого я использую следующие api ..

context.getExternalCacheDir();

Но проблема в том, что они не могут сохранить их во внутренней SD-карте (т. е. на несъемном внешнем хранилище).external_sd / Android / data /".

Пожалуйста, дайте мне способ сохранить файлы могут в несъемный кэш Android.

С уважением, Srinivas

1 Ответ

1 голос
/ 28 июня 2011

Из intellisense для Environment.getExternalStorageDirectory:

"Получает каталог внешнего хранилища Android. Этот каталог в настоящее время может быть недоступен, если он был смонтирован пользователем на его компьютере, удален с устройства или возникла какая-либо другая проблема. Вы можете определить его текущее состояние с getExternalStorageState ().

Примечание: не смущайтесь словом "внешний" здесь. Этот каталог лучше всего рассматривать как носитель / общее хранилище. Это файловая система, которая может содержать сравнительно большой объем данных и совместно используется всеми приложениями (не применяет разрешения). Традиционно это SD-карта, но она также может быть реализована как встроенное хранилище в устройстве, которое отличается от защищенного внутреннего хранилища и может быть смонтировано в качестве файловой системы на компьютере.

В устройствах с несколькими «внешними» каталогами хранения (такими как как защищенное хранилище приложений и подключаемое общее хранилище) этот каталог представляет собой «первичное» внешнее хранилище, с которым пользователь будет взаимодействовать.

Приложения не должны напрямую использовать этот каталог верхнего уровня, чтобы избежать загрязнения корневого пространства имен пользователя. Любые файлы, которые являются частными для приложения, должны быть помещены в каталог, возвращаемый Context.getExternalFilesDir, который система позаботится об удалении, если приложение будет удалено. Другие общие файлы должны быть помещены в один из каталогов, возвращаемых getExternalStoragePublicDirectory (String). "

...