我对 Windows 应用商店应用程序可用的各种类型的存储有点困惑。
假设我有一个记事本应用程序,用户可以在其中查看、创建和编辑笔记。我将使用什么存储类型来存储笔记?本地存储?将注释写到用户的 Documents 文件夹中的文件中?另外,如果我想通过云同步用户的笔记怎么办?我了解漫游数据的大小限制相当低。
我对 Windows 应用商店应用程序可用的各种类型的存储有点困惑。
假设我有一个记事本应用程序,用户可以在其中查看、创建和编辑笔记。我将使用什么存储类型来存储笔记?本地存储?将注释写到用户的 Documents 文件夹中的文件中?另外,如果我想通过云同步用户的笔记怎么办?我了解漫游数据的大小限制相当低。
您提到的几乎所有选项都适用于记事本应用程序。除了漫游数据选项外,它只允许您存储 100KB 的数据。
我将尝试总结您拥有的选项并添加更多选项:
Localstorage 您可以轻松地将这些文件添加到localstorage,您可以将其存储为文件格式或序列化您的对象并存储该文件。很容易实现。缺点是只有您的应用可以访问这些文件。
Documents 文件夹 也是一个选项。通过使用不同的文件选择器变得容易。例如FileOpenPicker或FileSavePicker。文件可以以您喜欢的格式存储,并且可以由其他应用程序或通过文件资源管理器访问。
漫游数据 由于空间有限,文件没有选项
Skydrive API 如果您想将文件存储在云端并在任何地方访问它们,您可以考虑使用skydrive api。另请注意,如果您使用文件选择器,您还可以选择将这些文件保存/加载到 skydrive。(尽管在这种情况下,用户选择存储文件的位置。)
Windows Azure 移动服务 如果您想在云中存储数据,另一种选择。使您能够将数据存储在一个/多个表中。很容易实现。更多关于移动服务的信息可以在这里找到
SQL Lite 如果您需要一个本地数据库来存储您的数据,那么 SQLLite 可能是一个选择。Tim Heuer 写了一篇关于如何在 Windows 8 应用程序中使用 SQLLite 的精彩博文。你可以在这里找到
希望这能让事情变得更清楚,并让您对为您的应用程序选择什么提供一些想法?
在像这样的应用程序(记事本风格的应用程序)中,将文件存储在用户的文档文件夹中的逻辑位置。这样,用户就可以从其他应用程序以及当前应用程序访问它们。当然,您也可以选择滚动您自己的方法将数据上传到 SkyDrive,但您真的不应该依赖它作为您唯一的数据源 - 如果用户离线怎么办?