Хранение файлов на Android, которые не удаляются при обновлении или удалении - PullRequest
1 голос
/ 29 января 2011

Я хочу сохранить некоторые данные в файл (не базу данных) на устройстве Android. В настоящее время я использую Context.getFileDir () в качестве родительского каталога. Однако при обновлении приложения этот каталог удаляется. Есть ли каталог, который я могу использовать из Context, который не испортится, когда пользователь пойдет обновить приложение? Это должна быть SD-карта, поскольку она не всегда доступна на всех телефонах?

Ответы [ 2 ]

6 голосов
/ 29 января 2011

Тем не менее, когда вы обновляете приложение, которое напрямую удаляется.

Нет, не получается.

Есть ли каталог, который я могу использоватьиз контекста, который не будет заблокирован при переходе пользователя к обновлению приложения?

Нет файлов, когда-либо «блокируется при переходе пользователя к обновлению приложения».

Все файлыво встроенной флеш-памяти "пользователь застрянет, когда пользователь" удалит приложение.

Должна ли это быть SD-карта, поскольку она не всегда доступна на всех телефонах?

Внешнее хранилище «обычно доступно» на всех устройствах Android с Android Market.Он может быть недоступен при определенных обстоятельствах (например, он смонтирован на главном ПК, внешнее хранилище было съемным и фактически было удалено).

0 голосов
/ 29 января 2011

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


В то время как если вы хотите сохранить файл при обновленииКод Oyu может использовать тот же метод, который вы используете, создавая файл в getFileDir (), просто вы должны проверять каждый раз, когда b4 создает файл tht, если файл уже существует, или нет


, если файл существуетНет необходимости создавать заново, и если это не так, то создайте его.


Я предполагаю, что вы все правильно сделали, создавая файл.


просто добавьтениже код b4, создающий его.


if(f.exists()) //Where f is your file
{
    //Don't create the file, it already exists
}
else{
    //Create the file, since it didn't exist
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...