在我的UWP应用程序中存储设置的简单方法
我在UWP应用程序中使用MVVM作为解决方案。我有一门课叫“设置”。我想把它存储在光盘上。我该怎么做呢?如果您想存储与应用程序相关的设置,我建议您使用在我的UWP应用程序中存储设置的简单方法,uwp,Uwp,我在UWP应用程序中使用MVVM作为解决方案。我有一门课叫“设置”。我想把它存储在光盘上。我该怎么做呢?如果您想存储与应用程序相关的设置,我建议您使用 这样,您就不需要显式地指定从文件读/写,从而使保存设置的工作非常简单。我所做的是使用JSON.NET将类序列化并反序列化为可存储的JSON字符串。这是我在解决方案中主要使用的静态类: public static class SettingsService { private const string SETTINGS_FILENAME =
这样,您就不需要显式地指定从文件读/写,从而使保存设置的工作非常简单。我所做的是使用JSON.NET将类序列化并反序列化为可存储的JSON字符串。这是我在解决方案中主要使用的静态类:
public static class SettingsService
{
private const string SETTINGS_FILENAME = "Settings.json";
private static StorageFolder _settingsFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
public async static Task<Settings> LoadSettings()
{
try
{
StorageFile sf = await _settingsFolder.GetFileAsync(SETTINGS_FILENAME);
if (sf == null) return null;
string content = await FileIO.ReadTextAsync(sf);
return JsonConvert.DeserializeObject<Settings>(content);
}
catch
{ return null; }
}
public async static Task<bool> SaveSettings(Settings data)
{
try
{
StorageFile file = await _settingsFolder.CreateFileAsync(SETTINGS_FILENAME, CreationCollisionOption.ReplaceExisting);
string content = JsonConvert.SerializeObject(data);
await FileIO.WriteTextAsync(file, content);
return true;
}
catch
{
return false;
}
}
}
要加载设置,请执行以下操作:
Settings settings = new Settings();
await SettingsService.SaveSettings(settings);
Settings settings = await SettingsService.LoadSettings();
请注意,并非所有类型都可以序列化。要排除的属性可以获得[JsonIgnore]
属性。最好的方法是使用ApplicationData.LocalSettings。请记住,这应该仅用于存储设置和用户首选项(而不是像文件或对象这样的用户数据)
要存储设置,请使用以下代码:
//获取对LocalSettings的引用:
var localSettings=ApplicationData.Current.localSettings;
localSettings.Values[“ServiceAddress”]=“您能否共享您想要存储的内容以及访问这些内容的频率?”?