Важно (9.07.22)

Если картинки в постах не отображаются, зайдите в блог через прокси. РКН заблокировал поддомены blogger.com на которые загружались картинки.

среда, 6 ноября 2013 г.

Сохраняем настройки приложения, используя Shared Preferences

Приветствую всех посетителей.

Очень часто при разработке более-менее серьёзного приложения для Android требуется где-то и как-то сохранять настройки программы, чтобы они сохранялись после перезапуска приложения. Существует множество вариантов для решения данной задачи, например: сохранять всё в XML-файл; в SQL-базу; хранить настройки в интернете; использовать "Shared Preferences".
Сегодня я хочу рассказать вам, как сохранять простейшие данные в виде «ключ - значение» используя при этом API Android’а - "Shared Preferences".


Начнём с описания.
SharedPreferences – это класс, который позволяет сохранять и извлекать данные в виде пар "ключ-значение". 
Вы можете использовать "SharedPreferences", чтобы сохранить данные различных типов: booleans, floats, ints, longs, и strings. Эти данные будут сохраняться для всех сеансов пользователей (даже если ваше приложение будет завершено). Более подробно вы можете ознакомиться в документации по API Android’а: Storage Options - Using Shared Preferences

К сожалению, в Delphi XE5 я не нашёл встроенной поддержки этого класса (Unit Scopes and the Units in Each Unit Scope). (Возможно, я плохо искал…). Тут нам на помощь приходит сообщество, и мы находим человека, которого зовут Chris Rolliston. Он написал модуль поддержки "SharedPreferences" в Android для Delphi XE5 и поддерживает его, за что ему огромное спасибо. Нам же остаётся только скачать файл "CCR.PrefsIniFile.Android.pas" (Отсюда или отсюда), подключить к нашему проекту и использовать (Не забываем сообщать о багах, если конечно найдёте их). Как именно использовать этот модуль, вы можете посмотреть в демо версии, которую автор написал специально для демонстрации возможностей модуля. (Прим. демка написана под 7-ми дюймовое устройство).


В общем-то, это всё, теперь вы можете использовать API Android’а для хранения настроек вашего приложения. Удачной разработки.

Актуальная версия: https://github.com/chrisrolliston/CCR.PrefsIniFile