Я использую следующий код для сохранения данных в общих настройках приложения Android:
private SharedPreferences getOurSharedPreferences() {
return getSharedPreferences(SHARED_PREFS_FILENAME, MODE_PRIVATE);
}
SharedPreferences sharedPrefs = getOurSharedPreferences();
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putString(keyName, theString);
if (!editor.commit())
throw new RuntimeException("Unable to save new string.");
// Get it back as a test.
String s2 = getStringFromStorage(keyName);
Где SHARED_PREFS_FILENAME - это личная конечная статическая строка, а keyName - это имя любого ключа, который я сейчас использую в качествеимя поля.Коммит работает нормально, я не получаю исключения.Как видите, я добавил тест, который извлекает недавно зафиксированную строку, и когда я проверяю ее (s2), значение в порядке.Поэтому у меня нет проблем с общим хранилищем настроек в течение всего времени жизни моего приложения.Однако, когда я перезапускаю приложение в эмуляторе, область хранения общих настроек становится пустой, и я не могу найти значения, которые я хранил в последнем сеансе эмулятора.Я немного читал и, насколько я вижу, сохраненные значения должны сохраняться между сеансами, очевидно, они сохраняются в файле XML, принадлежащем эмулятору.Тем не менее у меня возникают проблемы.
Может кто-нибудь сказать мне, почему мои общие хранилища настроек не сохраняются между сеансами эмулятора Android?
- roshcler