Xamarin.EssentialsПараметры:
Класс Preferences помогает хранить параметры приложения в хранилище ключей и значений.
Начало работы
Чтобы начать использовать этот API, ознакомьтесь с руководством по началу работы с Xamarin.Essentials, чтобы правильно настроить и установить библиотеку в проектах.
Использование Preferences
Добавьте ссылку на Xamarin.Essentials в своем классе:
using Xamarin.Essentials;
Чтобы сохранить значение определенного ключа в параметрах, используйте следующий код:
Preferences.Set("my_key", "my_value");
Чтобы извлечь значение из настроек или значение по умолчанию (если значение не задано в настройках):
var myValue = Preferences.Get("my_key", "default_value");
Чтобы проверить, существует ли определенный ключ в параметрах, используйте следующий код:
bool hasKey = Preferences.ContainsKey("my_key");
Чтобы удалить ключ из параметров, используйте следующий код:
Preferences.Remove("my_key");
Чтобы удалить все параметры, используйте следующий код:
Preferences.Clear();
Совет
Приведенные выше методы принимают необязательный параметр типа string
с именем sharedName
. Этот параметр используется для создания дополнительных контейнеров для настроек, которые полезны в некоторых вариантах использования. Один из сценариев заключается в том, что приложение должно обмениваться настройками с расширениями или приложением наблюдения. Особенности реализации для платформ см. ниже.
Поддерживаемые типы данных
Следующие типы данных поддерживаются в классе Preferences:
- bool
- double
- int
- float
- long
- string
- DateTime
Интеграция с параметрами системы
Настройки хранятся в собственном коде, что позволяет интегрировать параметры в собственные системные параметры. Для интеграции с платформой используйте документацию и примеры платформы:
- Apple: реализация пакета параметров iOS
- Параметры watchOS
- Android: начало работы с экранами параметров
Сведения о реализации
Значения DateTime
хранятся в двоичном 64-битном формате (длинное целое число) с использованием двух методов, определяемых классом DateTime
. Метод ToBinary
используется для шифрования значения DateTime
. Метод FromBinary
декодирует значение. Ознакомьтесь с документацией об этих методах для возможной корректировки декодированных значений, если сохраняется значение DateTime
не в формате UTC.
Особенности реализации для платформ
Все данные хранятся в объекте SharedPreferences. Если свойство sharedName
не указано, используются общие настройки по умолчанию. В противном случае используется имя для получения частных общих настроек с указанным именем.
Сохраняемость
Удаление приложения приводит к удалению всех настроек за одним исключением: приложения, которые выполняются на платформе Android 6.0 (API уровня 23) или более поздних версий и используют автоматическое резервное копирование. Эта функция включена по умолчанию и сохраняет данные приложения, включая общие параметры, которые использует API параметров. Ее можно отключить, выполнив следующие шаги в документации Google.
Ограничения
При сохранении строки этот API сохраняет небольшие блоки текста. Производительность может быть низкой, если сохранять большие объемы текста.