Подтвердить что ты не робот

В android есть ли способ сохранить SharedPreferences после удаления

Я сохраняю некоторые метаданные приложения в SharedPreferences. Всякий раз, когда я удаляю приложение и переустанавливаю его, SharedPreferences удаляются.

Есть ли какой-нибудь способ, чтобы это осталось, чтобы, если пользователь делает удаление и переустановку, они могут восстановить свои старые данные?

4b9b3361

Ответ 1

Вы должны добавить BackupAgentHelper в свое приложение. Вместе с SharedPreferenceBackupHelper он резервирует SharedPreferences для облака (если устройство поддерживает его). Когда приложение будет переустановлено, данные будут восстановлены.

Смотрите:

BackupAgentHelper

SharedPreferenceHelper (содержит весь код, необходимый для его реализации)

общий справочник по резервному копированию

Ответ 2

Начиная с Android 6.0 можно было использовать:

<application
        android:allowBackup="true">

Установив его в true, ваши данные (sharedprefs и другие) будут сохранены в облаке Google и восстановлены в следующий раз, когда приложение будет установлено. Вы можете прочитать об этом здесь. Следует отметить, что параметры по умолчанию: true начиная с 6.0.

Ответ 3

Я уверен, что SharedPreferences всегда удаляется вместе с приложением. На мой взгляд, лучший способ сделать это - написать скрытый файл (что-то вроде ".nameOfFile" ) на SD-карту или внутреннюю память, и у них тоже есть предпочтения.

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

Это всего лишь один способ сделать это, и он может быть не самым эффективным, но я надеюсь, что это поможет!

Ответ 4

Один из способов сделать это - сохранить пользовательские данные на сервере. Затем, когда пользователь переустанавливает приложение или устанавливает приложение на другое устройство, он может "синхронизировать" свои пользовательские данные. Это будет просто небольшая загрузка HTTP данных, вероятно, сохраненная в JSON, которую вы затем проанализируете и записываете в SharedPreferences.

Если вы не хотите поддерживать собственный сервер, вы можете использовать облачный сервис, такой как Dropbox. Вот как работает приложение 1Password Reader.

Ответ 5

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

Ответ 6

sharedPrefs и DB удаляются при удалении. Вам придется писать за пределами приложения (например, sd).

Ответ 7

Это действительно встроенный, вам просто нужно реализовать несколько классов, чтобы включить его. Данные будут скопированы и привязаны к учетной записи пользователя Google, поэтому она будет автоматически восстановлена, если они установят приложение на новом устройстве, переустановят и т.д.

http://developer.android.com/guide/topics/data/backup.html