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

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

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

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

Solutions Collecting From Web of "Постоянное сохранение данных в android"

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

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

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

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

Общие предпочтения:

getSharedPreferences настройки управляются с помощью метода getSharedPreferences класса 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 – это вложенный интерфейс класса 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 на сайте разработчиков.

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

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

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

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

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