Постоянное сохранение данных в android

В моем приложении есть некоторые специальные настройки приложения, которые должны быть доступны мне, в следующий раз, когда мое приложение запустится.

Другими словами, я хочу, чтобы данные были доступны через сеансы цикла приложения.

Это можно достичь без использования базы данных (sqlite).

Многие приложения могут обеспечить способ захвата пользовательских настроек в настройках конкретного приложения или активности. Для поддержки этого Android предлагает простой набор API.

Предпочтения – это, как правило, пары значений имени. Они могут храниться как «Общие предпочтения» в различных действиях в приложении (обратите внимание, что в настоящее время они не могут быть разделены между процессами). Или это может быть что-то, что необходимо сохранить для конкретной деятельности.

  1. Общие предпочтения. Общие настройки могут использоваться всеми компонентами (действиями, службами и т. Д.) Для приложений.

  2. Действия, обработанные обработкой: эти предпочтения могут использоваться только в действии и не могут использоваться другими компонентами приложения.

Общие настройки:

getSharedPreferences настройки управляются с помощью метода getSharedPreferences classа Context . Настройки сохраняются в файле, который может быть либо обычным (1), либо по умолчанию (2).

(1) Вот как вы получаете экземпляр, когда хотите указать имя файла

 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 других приложений также есть права на запись для созданного файла.

(2) Рекомендуемый способ – использовать по умолчанию режим без указания имени файла:

 SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); 

Наконец, как только у вас есть экземпляр предпочтений, вот как вы можете получить сохраненные значения из настроек:

  int storedPreference = preferences.getInt("storedInt", 0); 

Для хранения значений в файле предпочтений SharedPreference.Editor объект SharedPreference.Editor . Editor – это вложенный интерфейс classа SharedPreference .

 SharedPreferences.Editor editor = preferences.edit(); editor.putInt("storedInt", storedPreference); // value to store editor.commit(); 

Редактор также поддерживает такие методы, как remove() и clear() чтобы удалить значение предпочтения из файла.

Предпочтения деятельности:

Общие предпочтения могут использоваться другими компонентами приложения. Но если вам не нужно делиться предпочтениями с другими компонентами и вы хотите, чтобы у вас были личные предпочтения. Вы можете сделать это с помощью метода getPreferences() активности. Метод getPreference использует метод getSharedPreferences() с именем classа активности для имени файла предпочтения.

Ниже приведен код для получения настроек:

 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 . Пакет определяет classы для реализации пользовательского интерфейса приложений.

Чтобы увидеть еще несколько примеров, отметьте запись в хранилище данных Android на сайте разработчиков.

Вы должны использовать общие настройки:

 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); prefs.edit().putString("my_pref", "my_value").commit(); 

И получить его:

 String value = prefs.getString("my_pref", "default Value"); 

Эти предпочтения являются постоянными и также интегрированы с мероприятиями предпочтений.

Давайте будем гением компьютера.