1

我正在为某人创建一个 Windows 8 应用程序(使用 HTML 5 和 JavaScript),他们已经改变了对我的数据存储要求,我可以使用一些指导。我需要的是一个只为本地用户保留的数据源,而不是在数据库或云中在线。用户将被分配一台安装了应用程序的平板电脑,他们将通过表单输入数据以自定义其本地副本。

这是我的要求:

- 数据必须在应用程序安装在设备上的整个生命周期内持续存在。

-我需要能够在某种程度上查询数据。我基本上有大约 15-20 个表单可以接受输入数据,然后是一个主表单,它将从这 15-20 个“子”表单中填充下拉和选择选项。

- 大小应该不是问题,都是文本数据,不会输入多少。在应用程序的整个生命周期中,这不会超过几百 MB。

我研究了 XML、indexedDB(在外面听起来不错,但没有找到任何保证这将持续存在)和应用程序数据(本地),这在我的阅读能力方面似乎极为有限。

你认为我最好的选择是什么?任何建议将不胜感激。

谢谢。

4

1 回答 1

1

这应该有帮助

    (function () {
    "use strict";
    var page = WinJS.UI.Pages.define("/html/index.html", {
        ready: function (element, options) {
                   //do your things 
                }
    });

    var roamingFolder = Windows.Storage.ApplicationData.current.roamingFolder;
    var afile = "FileToStoreStuff.txt";

    function makefile() {
        roamingFolder.createFileAsync(afile, Windows.Storage.CreationCollisionOption.replaceExisting)
            .then(function (file) {
                return Windows.Storage.FileIO.writeTextAsync(file);
            })
    }

    function fileRead() {
        roamingFolder.getFileAsync(filename)
            .then(function (file) {
                return Windows.Storage.FileIO.readTextAsync(file);
            }).done(function (text) {
                    //do stuff
                );
    }

})();

这种假设您的数据可能会发生变化。如果不是,您可以采用不同的方法,例如将 roamingFolder 变量替换为:

var localSettings = applicationData.localSettings;
var localFolder = applicationData.localFolder;

如果您需要从应用程序的其他地方访问数据,请查看开发文档。

于 2013-04-11T03:38:04.947 回答