Windows 8 应用商店应用 - 使用哪种类型的存储?

3

我对Windows Store应用程序可用的各种存储类型有些困惑。

假设我有一个记事本应用程序,用户可以查看、创建和编辑笔记。为存储笔记使用哪种存储类型?本地存储?将笔记写入用户文档文件夹中的文件?另外,如果我想通过云同步用户的笔记怎么办?我知道Roaming Data的大小限制相当低。

2个回答

10
几乎所有您提到的选项都适用于记事本应用程序。除了漫游数据选项,该选项仅允许您存储100KB的数据。
我会尝试总结您拥有的选项并添加更多选项:
本地存储 您可以轻松将这些文件添加到localstorage中,可以以文件格式存储或序列化对象并存储该对象。非常容易实现。缺点是只有您的应用程序可以访问这些文件。
文档文件夹 也是一个选项。通过使用不同的文件选择器变得容易。例如FileOpenPickerFileSavePicker。文件可以以您喜欢的格式存储,并且可以通过其他应用程序或通过文件浏览器访问。
漫游数据 由于空间有限,无法使用文件选项。 Skydrive API 如果您想将文件存储在云中并随时访问它们,可以考虑使用skydrive api。另请注意,如果您使用文件选择器,则还可以选择将这些文件保存/加载到SkyDrive中。(尽管在这种情况下,用户选择存储文件的位置。) Windows Azure移动服务 如果您想将数据存储在云中,可以考虑使用另一种选项。它使您能够将数据存储在一个或多个表中。非常易于实现。有关移动服务的更多信息可以在此处找到hereSQL Lite 如果您需要本地数据库来存储数据,则可以使用SQLLite。Tim Heuer撰写了一篇有关如何在Windows 8应用程序中使用SQLLite的不错博客文章。您可以在此处找到它here
希望这能解释得更清楚一些,为您的应用程序选择提供了一些思路?

2
添加Windows Azure移动服务(如果云在此处有意义)和本地SQLite。SQLite具有全文搜索功能(我认为应该在Windows商店应用程序中可用),这可以为此类应用程序提供很棒的功能。 - Jim O'Neil
ESENT也是一个选择...其托管层(在此处找到:http://managedesent.codeplex.com/)使得大多数Win8开发人员更容易接近它。 - Eric Fleischman

1
在这样的应用程序中(像记事本风格的应用程序),存储文件的逻辑位置是用户文档文件夹。这样,它们就可以从其他应用程序以及当前应用程序中访问到用户。当然,也有自己上传数据到SkyDrive的方法,但您真的不应该仅依赖此作为您唯一的数据源 - 如果用户离线怎么办?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接