import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
Оновлення
Відповідно до спільних налаштувань | Навчальний посібник для розробників Android (частина 13) Сай Геетя М.Н.,
Багато програм можуть надавати спосіб захоплення налаштувань користувачів у налаштуваннях певної програми чи активності. Для підтримки цього Android пропонує простий набір API.
Як правило, переваги - це пари парних імен. Вони можуть зберігатися як "Спільні налаштування" в різних видах роботи програми (зауважте, що в даний час це неможливо поділити між процесами). Або це може бути щось, що потрібно зберігати специфічно для діяльності.
Спільні налаштування: спільні налаштування можуть використовуватися всі компоненти (діяльність, послуги тощо) програм.
Вподобання, що обробляються активністю: ці налаштування можна використовувати лише в межах конкретної діяльності та не можуть бути використані іншими компонентами програми.
Налаштування спільного доступу:
Загальні налаштування керуються за допомогою getSharedPreferences
методу Context
класу. Налаштування зберігаються у файлі за замовчуванням (1) або ви можете вказати ім'я файлу (2), яке використовуватиметься для позначення налаштувань.
(1) Рекомендований спосіб - використовувати режим за замовчуванням, не вказуючи ім'я файлу
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
(2) Ось як ви отримуєте екземпляр, коли вказуєте ім'я файлу
public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE
- це режим роботи для налаштувань. Це режим за замовчуванням, і це означає, що до створеного файлу буде доступний лише виклик програми. Інші два режими, які підтримуються, - MODE_WORLD_READABLE
і MODE_WORLD_WRITEABLE
. В MODE_WORLD_READABLE
іншому додатку можна прочитати створений файл, але не може його змінювати. У випадку MODE_WORLD_WRITEABLE
інших програм також є дозволи на запис створеного файлу.
Нарешті, щойно у вас є екземпляр налаштувань, ось як ви можете зберегти збережені значення з налаштувань:
int storedPreference = preferences.getInt("storedInt", 0);
Для зберігання значень у SharedPreference.Editor
об'єкті файлу переваг слід використовувати. Editor
є вкладеним інтерфейсом у SharedPreference
класі.
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Редактор також підтримує такі методи, як remove()
і clear()
видалити значення параметрів з файлу.
Налаштування діяльності:
Загальні налаштування можуть використовуватися іншими компонентами програми. Але якщо вам не потрібно ділитися налаштуваннями з іншими компонентами і хочете мати приватні налаштування діяльності, ви можете зробити це за допомогою getPreferences()
методу діяльності. getPreference
Метод використовує getSharedPreferences()
метод з ім'ям класу активності для імені файлу переваг.
Далі йде код для отримання переваг
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
Код для зберігання значень також такий же, як і у випадку спільних уподобань.
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Ви також можете використовувати інші методи, такі як збереження стану активності в базі даних. Зауважте, Android також містить пакет під назвою android.preference
. Пакет визначає класи для реалізації інтерфейсу переваг додатків.
Щоб побачити ще кілька прикладів, перегляньте повідомлення про зберігання даних Android на сайті розробників.