Translate

четверг, 19 июля 2012 г.

Сохранение и чтение настроек приложения с помощью класса SharedPreferences


 
Эта статья представляет собой перевод части этого официального мануала. В ней описано, как использовать класс SharedPreferences для сохранения и извлечения настроек приложения



SharedPreferences — основной класс в android framework, с помощью которого можно сохранять и извлекать какие-либо «вечные» - сохраняемые в памяти устройства - настройки приложения, выраженные примитивными типами данных и строками.
Чтобы получить доступ к объекту класса SharedPreferences, можно использовать 2 метода:
  • getSharedPreferences() - Если у вас имеется несколько файлов с настройками, используйте этот метод, определяя имя файла первым параметром
  • getPreferences() - Если у вас только один файл с настройками для Activity, вызывайте этот метод. В него не нужно подавать имя файла
Чтобы записать значения, нужно:
  1. Вызвать edit(), чтобы получить объект класса SharedPreferences.Editor
  2. Добавить переменный с помощью методов с названиями вроде putBoolean() и putString()
  3. Сохранить изменения: commit()
Чтобы прочитать переменные, используйте методы класса SharedPreferences наподобие getBoolean() и getString()
Нижеприведенный пример показывает, как записать и считать одну из настроек приложения (boolean silent):


public class Calc extends Activity {
    public static final String PREFS_NAME = "MyPrefsFile";

    @Override
    protected void onCreate(Bundle state){
       super.onCreate(state);
       . . .

       // Восстанавливаем настройки из файла при создании Activity
       SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
       boolean silent = settings.getBoolean("silentMode", false);
       setSilent(silent);
    }

    @Override
    protected void onStop(){
       super.onStop();

      // Получаем объект класса Editor и сохраняем переменную
      SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
      SharedPreferences.Editor editor = settings.edit();
      editor.putBoolean("silentMode", mSilentMode);

      // Не забываем вызвать commit!
      editor.commit();
    }
}

Комментариев нет:

Отправить комментарий

Related Posts Plugin for WordPress, Blogger...