我正在开发一个WinRT应用程序,它实际上也是一款游戏。我需要将不同的信息(例如音频设置或玩家统计数据)保存在某种文件或其他地方。如果使用文件,只需将设置写入其中?我有一个想法,但我认为它太简单了...如何最好地实现这一点?
非常感谢您提供任何帮助或建议!
非常感谢您提供任何帮助或建议!
以下是在WinRT应用程序中保存数据的几种方法,名字带有Settings的方法可能是您正在寻找的!- 我们也添加了其他方法 - 如果需要,您还可以序列化数据。这是可工作的代码- 但不要忘记添加错误处理等。这只是一个简单的演示代码 :)
至于设置,您可以将简单的设置保存为键和值,对于更复杂的设置,可以使用容器。我在这里提供了两个示例 =)
public class StorageExamples
{
public async Task<string> ReadTextFileAsync(string path)
{
var folder = ApplicationData.Current.LocalFolder;
var file = await folder.GetFileAsync(path);
return await FileIO.ReadTextAsync(file);
}
public async void WriteTotextFileAsync(string fileName, string contents)
{
var folder = ApplicationData.Current.LocalFolder;
var file = await folder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);
await FileIO.WriteTextAsync(file, contents);
}
public void SaveSettings(string key, string contents)
{
ApplicationData.Current.LocalSettings.Values[key] = contents;
}
public string LoadSettings(string key)
{
var settings = ApplicationData.Current.LocalSettings;
return settings.Values[key].ToString();
}
public void SaveSettingsInContainer(string user, string key, string contents)
{
var localSetting = ApplicationData.Current.LocalSettings;
localSetting.CreateContainer(user, ApplicationDataCreateDisposition.Always);
if (localSetting.Containers.ContainsKey(user))
{
localSetting.Containers[user].Values[key] = contents;
}
}
}
MSDN有一篇文章,介绍在Windows Store应用中使用应用程序设置。
Windows.UI.ApplicationSettings
命名空间包含所有必要的类。
提供了允许开发人员定义出现在 Windows shell 设置面板中的应用程序设置的类。设置面板为用户提供了一个一致的位置来访问应用程序设置。
基本上,这些类可以让您存储应用程序设置,并将它们连接到所有应用程序设置的标准位置。您的用户不必学习任何新知识,设置将出现在预期的位置。