【发布时间】:2016-09-02 16:50:31
【问题描述】:
我正在制作一款教育游戏(Windows 10 UWP,C# + XAML),我需要存储用户信息(特别是他们当前的分数)并在他们再次启动应用程序时检索它。我找到了一种方法来做到这一点(见下面的代码),但我不知道这是否是这个问题的正常解决方案。我目前正在创建一个 txt 文件并在其中存储和检索数据。有没有更常见或更简单的方法来做到这一点?
这是我目前正在做的事情:
创建文件:
StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
StorageFile sampleFile = await storageFolder.CreateFileAsync("nameOfTextFile.txt", CreationCollisionOption.OpenIfExists); //other options are ReplaceExisting
打开文件:
StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
StorageFile sampleFile = await storageFolder.GetFileAsync("nameOfTextFile.txt");
将文本写入文件:
await FileIO.WriteTextAsync(sampleFile, "Put the added text here");
从文件中读取文本:
string someVariableName = await FileIO.ReadTextAsync(sampleFile);
-在此先感谢您的帮助!!
【问题讨论】:
-
这是为您的 UWP 应用存储/读取应用数据的正确方法。如果您还没有,我建议您使用与上述相同的方式将您的设置存储在 XML 文件中
-
谢谢,杰夫!我一直在使用 txt 文件,但这只是因为我不知道其他选项。您介意向我解释一下使用 XML 的一些优点吗?
-
正如@CheckItOut 建议的那样,创建一个类,您可以在其中执行应用程序设置的
getting 和setting,然后以这种方式读取/写入文件。如果您在每个属性上方设置 [XmlSerialize] 的属性,则可以使用 XmlSerializer 来编写您的 XML 文件。同样对于反向(从 XML 加载),如果您需要,我可以发布一个示例作为答案 -
我很想看一个例子!感谢您的帮助,Geoff(和 CheckItOut)!
-
没有问题!和我一起裸露,我会看看我能沙沙作响(除非@CheckItOut 可以更新他们的答案 - 如果是这样,我会投票)
标签: c# windows xaml win-universal-app