Настройки приложения Android очищаются автоматически

1

Внезапно, каждый раз, когда я запускаю свое приложение, мои пользовательские настройки очищаются. Вместо использования предпочтений непосредственно в Activity, у меня есть вспомогательный класс в моем объекте Application, который обращается к таким предпочтениям:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());

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

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

Я просматриваю последние изменения кода и не нашел ничего связанного. Поскольку я приближаюсь к публикации приложения на рынке, я продолжаю переключаться между отладкой и выпуском, но я бы не подумал, что это вызовет такую ​​проблему.

Любые идеи?

Кевин

Теги:
android-preferences

2 ответа

0
Лучший ответ

Решил. С Logcat я, наконец, заметил исключение при чтении предпочтений. Я писал новое предпочтение с нулевым ключом, и это вызывало исключение загрузки предпочтений. Неверная ошибка с моей стороны.

  • 0
    Вы бы не подумали, что это лишит вас предпочтений. Если кому-то интересно, я расскажу об этом более подробно в своем блоге. toastdroid.com/2014/07/04/...
1

Процитировать вас...

Это, похоже, начиналось, когда Я начал строить с Proguard для релиз сборки

Поскольку в версиях сборки и отладочных сборках используются разные ключи для подписи, они не могут сосуществовать на одном устройстве. Вы уверены, что не удаляете сборку отладки при установке сборки релиза? Uninstalls будет использовать любые предпочтения, привязанные к приложению.

Поскольку вы говорите, что у вас нет кода, который бы удалял настройки, единственный способ, которым я знаю, чтобы уклониться от предпочтения, - это удалить XML файл физических предпочтений или удалить его. Таким образом, вы можете проверить, чтобы убедиться, что у вас нет кода, который очищает файлы в локальной области хранения вашего приложения.

  • 0
    Я не верю, что есть какой-либо код для удаления файла настроек XML. Я удалил приложение режима выпуска перед установкой отладки. Я ожидал бы, что это очистит предпочтения. Тем не менее, во 2-й, 3-й или n-й раз, когда я запускаю приложение, они все еще остаются ясными, когда я запускаю приложение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню