Хранение наборов ключ-значение

Для хранения небольшого набора пар ключ-значение, используйте интерфейс SharedPreferences. SharedPreferences создает файл для хранения записей и предоставляет простые методы для чтения и записи данных ключ-значение. Каждый файл управляется фреймворком и может быть приватным или открытым.

В данном уроке рассматривается применение интерфейса SharedPreferences для хранения простых значений.

Примечание: интерфейс SharedPreferences используется только для чтения и записи данных типа ключ-значение. Не путайте его с интерфейсом Preference, который служит для создания интерфейса настроек приложения (хотя SharedPreferences тоже можно использовать при реализации такой задачи). Подробную информацию об использовании интерфейса Preferences смотрите в разделе Настройки.

Получение дескриптора SharedPreferences

Вы можете создать новый файл для хранения пар или использовать существующий, вызвав один из методов:

  • getSharedPreferences() – используйте этот метод, чтобы создать несколько файлов, различающихся по имени. Имя файла передается в метод первым параметром. Метод доступен в любом Контексте приложения.
  • getPreferences() – вызывайте данный метод из явления, если хотите использовать один файл для данного явления. Поскольку будет использоваться файл по умолчанию, вам не нужно указывать для него имя.

В следующем примере код располагается внутри фрагмента и используется для получения доступа к файлу, имя которого задано ресурсом R.string.preference_file_key. Файл открывается в приватном режиме и будет доступен только для вашего приложения:

Если вы будете использовать разные файлы, чтобы добиться уникальности, рекомендуем добавлять к имени название пакета приложения, например "com.example.myapp.PREFERENCE_FILE_KEY".

Если вам не нужно несколько файлов, просто воспользуйтесь методом getPreferences():

Внимание:если вы создали файл с использованием свойств MODE_WORLD_READABLE или MODE_WORLD_WRITABLE, любое приложение сможет получить доступ к данным.

Запись пар ключ-значение

Для записи данных, создайте объект SharedPreferences.Editor с помощью метода edit().

Передайте ключи и значения, которые вы хотите сохранить, используя метода putInt() и putString(). Для записи данных вызовите метод commit(). Например:

Чтение пар ключ-значение

Для получения пар ключ-значение, используйте такие методы, как getInt() или getString(). В качестве параметра они принимают ключ и возвращают сохраненное значение, ассоциированное с этим ключом. Пример:

Добавить комментарий