Android-эмулятор / eclipse удаляет файлы приложения при повторном развертывании - PullRequest
1 голос
/ 12 сентября 2010

Мое приложение загружает файл с сервера и сохраняет его в: /mnt/sdcard/Android/data/com.test/files.(/ mnt / sdcard получена из Environment.getExternalStorageDirectory();)

Каждый раз, когда я заново развертываю приложение из eclipse (меню запуска) в эмуляторе, оно удаляет файл.Флажок 'target / wipe user data' в конфигурации запуска не отмечен.Я правильно закрываю все BufferedOutputStreams, поэтому не думаю, что это само мое приложение.Я использую правильный каталог для постоянного хранения данных?(мои файлы около 70-100M)

Есть подсказки?

1 Ответ

1 голос
/ 12 сентября 2010

Из документа getExternalStorageDirectory :

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

Ваш /mnt/sdcard/Android/data/com.test/files должен быть в вашем Context.getExternalFilesDir(), и он удаляется при удалении приложения.

...