Поиск…


Сохранять и получать настройки

Приложения UWP могут легко хранить простые настройки в хранилище ключей / значений локально или даже в облаке, поэтому ваше приложение или игра могут совместно использовать настройки между различными устройствами пользователя.

Для настроек можно использовать следующие типы данных:

  • UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64, Single, Double
  • логический
  • Char16, String
  • DateTime, TimeSpan
  • GUID, Point, Size, Rect

Начните с получения локального и / или перемещаемого контейнера данных.

Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
Windows.Storage.ApplicationDataContainer roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;

Чтобы создать или записать параметр, используйте свойство ApplicationDataContainer.Values для доступа к настройкам в контейнере данных. Например, создайте локальный параметр с именем FontSize с FontSize int 10 и параметром роуминга Username со string значением Bob .

localSettings.Values["FontSize"] = 10;
roamingSettings.Values["Username"] = "Bob";

Чтобы получить этот параметр, используйте тот же объект ApplicationDataContainer.Values , который использовался для создания этого параметра.

int fontSize = localSettings["FontSize"];
string username = roamingSettings["Username"];

Хорошая практика - проверить, существует ли настройка до ее получения.

if (localSettings.Values.ContainsKey("FontSize"))
    int fontSize = localSettings["FontSize"];

if (roamingSettings.Values.ContainsKey("Username"))
    string username = roamingSettings["Username"];

Настройки роуминга имеют квоту размера. Используйте свойство RoamingStorageQuota, чтобы получить его.

Подробнее о настройках, их ограничениях и примерах кода можно узнать в MSDN .

Сохранение данных в кеш приложения

ApplicationData.Current.LocalFolder api позволяет нам получить доступ к кешу приложения:

var file = await ApplicationData.Current.LocalFolder.CreateFileAsync("myFile.dat", CreationCollisionOption.ReplaceExisting);

Класс FileIO содержит набор методов утилиты для простого добавления данных в файл:

await FileIO.WriteBytesAsync(file, array);
await FileIO.AppendTextAsync(file, "text");
await FileIO.WriteBufferAsync(file, iBuffer);


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow