uwp
Настройки и данные приложения
Поиск…
Сохранять и получать настройки
Приложения 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);