在Windows 8应用程序中保存本地数据的最佳方法

Best Method to persist data locally in Windows 8 app

本文关键字:数据 最佳 方法 保存 Windows 应用程序      更新时间:2023-09-26

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

以下是我的要求:

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

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

-大小不应该是一个问题,它是所有的文本数据,并没有太多的将被输入。在应用程序的整个生命周期内,这种情况不会超过几百mb。

我研究了XML, indexedDB(听起来不错,但没有发现任何保证这将持续下去)和应用程序数据(本地),这似乎在我的阅读能力非常有限。

你认为我最好的赌注是什么?如有任何建议,不胜感激。

谢谢。

这应该有帮助

    (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;

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