Основы работы с Android SharedPreferences

Сегодня будет небольшая заметка о Android SharedPreferences. Я использую их для сохранения данных и значений в играх... Например, для сохранения значений Highscore.

Иногда Android приложению требуется сохранять небольшие данные для дальнейшего использования, например, данные о пользователе, настройки конфигурации и т.д. Для этого в Android существует концепция Preferences или настройки. Настройки представляют собой группу пар ключ-значение, которые используются приложением.

В качестве значений могут выступать различные типы данных: Boolean, Float, Integer, Long, String.

Доступны следующие режимы для SharedPreferences:

  1. MODE_WORLD_READABLE
  2. MODE_WORLD_WRITEABLE
  3. MODE_PRIVATE

Сохранение, чтение и удаление записей Android SharedPreferences

/******* Создание SharedPreferences *******/

    SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE);
    Editor editor = pref.edit();


/**************** Сохранение данных как КЛЮЧ/ЗНАЧЕНИЕ *******************/

    editor.putBoolean("key_name1", true);           // Saving boolean - true/false
    editor.putInt("key_name2", "int value");        // Saving integer
    editor.putFloat("key_name3", "float value");    // Saving float
    editor.putLong("key_name4", "long value");      // Saving long
    editor.putString("key_name5", "string value");  // Saving string
    
    // Сохранение изменений в SharedPreferences
    editor.commit(); // commit изменений


/**************** Чтение данных из SharedPreferences *******************/

// If value for key not exist then return second param value - In this case null

    pref.getBoolean("key_name1", null);         // getting boolean
    pref.getInt("key_name2", null);             // getting Integer
    pref.getFloat("key_name3", null);           // getting Float
    pref.getLong("key_name4", null);            // getting Long
    pref.getString("key_name5", null);          // getting String

 
/************ Удаление ЗНАЧЕНИЯ по КЛЮЧУ в SharedPreferences *****************/

    editor.remove("key_name3"); // will delete key key_name3
    editor.remove("key_name4"); // will delete key key_name4
    
    // Сохранение изменений в SharedPreferences
    editor.commit(); // commit changes
   
/************ Очистка всех данных из SharedPreferences *****************/ 

     editor.clear();
     editor.commit(); // commit changes

И совсем недавно узнал об ОЧЕНЬ полезном сайте по программированию Android Androidexample.com. Очень рекомендую! Но информация там исключительно на английском. Так что учите английский :-)