Preferences и хранение настроек приложения

By | 24.01.2014

Очень малое количество приложений может обходиться без того, чтобы хранить свои настройки. К таким можно отнести совсем простые, например калькулятор. Как сохранять и загружать настроки приложения через Preferences мы сейчас и узнаем.

Значение в Preferences хранятся в виде пары ключ значение, это напоминает одномерный массив.

Сохранение данных

// Создаём объект ourPref в режиме MODE_PRIVATE, это значит, что с ним будет работать только наше приложение
SharedPreferences ourPref = getPreferences(MODE_PRIVATE);
 
// Добавляем редактор
Editor editPref = ourPref.edit();
 
// Внедряем данные в конфиг. PREF_ITEM - это наш ключ. __pref_text__ - какое-то значение, соответствующее указанному ключу
editPref.putString(PREF_ITEM, __pref_text__);
 
// Коммитим данные в конфиг
editPref.commit();

Получение данных из настроек

// Создаём объект ourPref в режиме MODE_PRIVATE, это значит, что с ним будет работать только наше приложение
SharedPreferences ourPref = getPreferences(MODE_PRIVATE);
 
// Получаем данные с ключем SAVED_TEXT в строчную переменную savedItem и дефолтным значением ввиде ""
String savedItem = ourPref.getString(PREF_ITEM, "");

Настройки хранятся ввиде файлов XML в файловой системе. Вот пример такого файла.

<?xml version="1.0" encoding="utf-8"?>
<map>
  <string name="PREF_ITEM">1234567890</string>
</map>

Причём название файла берётся из названия activity. Если это Вас не устраивает, можете использовать такой вариант:

SharedPreferences ourPref = getSharedPreferences("Название файла", MODE_PRIVATE);