在windows RT中持续保存数据的最佳实践

本文关键字:数据 最佳 保存 windows RT | 更新日期: 2023-09-27 17:58:30

我正在开发一个windows RT应用程序,该应用程序允许用户输入一些不同的数据。大多数是整数和一些与字符相关的字符串。比如:名字、力量、灵活性等

我希望看到的是,每个角色都保存到自己的文件中,所做的任何更改都会立即保存到该角色的文件中。这样,如果应用程序结束,数据就会在那里。

加载时,我想用"New"和文件夹中的字符填充屏幕。目前,我专注于加载单个字符并适当地更新文件。

我的想法是浏览这里的漫游数据:http://msdn.microsoft.com/en-gb/library/windows/apps/hh700362.aspx但这将涉及在加载时将容器中的每个比特单独加载到变量中,并每次更新两次(变量和漫游数据)。

我只考虑将它们加载为XML,并将更改保存为本例中的示例3http://code.msdn.microsoft.com/windowsapps/XML-API-Scenario-Sample-42ce708b尽管我没有找到一种简单的方法来使用C#将XML文件映射到字符的模板中。

理想情况下,将XML文件保存到漫游数据中对多台设备来说是件好事,我可以找到一种方法将XML文件加载到加载模板中,但我不确定这是否可行。

做这样的事情最好的方法是什么?以上想法可能吗?

在windows RT中持续保存数据的最佳实践

根据数据量的不同,您可以只使用"应用程序"或"漫游设置"。两者都有数据大小和类型的限制,但如果只是几个字符串和整数,可能就足够了。您可以为每个字符创建应用程序数据容器,并以原子方式编写所有属性。

或者,使用本地/漫游文件,但要注意漫游数据也有配额,因此您可能需要确定应用程序可能发送的数据量。还要注意,漫游数据有延迟,可能永远不会同步(例如,如果超过配额)。如果你确实需要它用于多个设备,并且有很多数据,或者你需要更可靠地同步它,下一步将是云(你可以使用Azure中的Windows Azure移动服务或其他存储)。

由于不知道您的应用程序的具体情况或需求的优先级,我可能会从本地或漫游应用程序数据开始,我非常喜欢使用JSON.NET进行序列化,而且它可以通过NuGet轻松添加到您的解决方案中。如果你使用本地文件,只构建一点点抽象层,那么如果你的应用程序的大小或使用量增加,以后将这些文件移动到云上就不难了。