Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Windows 8应用程序中本地持久化数据的最佳方法_Javascript_Windows_Storage_Local - Fatal编程技术网

Javascript 在Windows 8应用程序中本地持久化数据的最佳方法

Javascript 在Windows 8应用程序中本地持久化数据的最佳方法,javascript,windows,storage,local,Javascript,Windows,Storage,Local,我正在为某人创建一个Windows8应用程序(使用HTML5和JavaScript),他们在数据存储方面对我提出了更高的要求,我需要一些指导。我需要的是一个数据源,它只为本地用户持久存在,而不是在数据库或云中在线。用户将被分配一台安装了应用程序的平板电脑,他们将通过表单输入数据以自定义本地副本 以下是我的要求: -数据必须在设备上安装应用程序的整个生命周期内保持不变 -我需要能够在某种程度上查询数据。我基本上有15-20个表单,它们将接受输入数据,然后是一个主表单,它将从15-20个“子”表单中

我正在为某人创建一个Windows8应用程序(使用HTML5和JavaScript),他们在数据存储方面对我提出了更高的要求,我需要一些指导。我需要的是一个数据源,它只为本地用户持久存在,而不是在数据库或云中在线。用户将被分配一台安装了应用程序的平板电脑,他们将通过表单输入数据以自定义本地副本

以下是我的要求:

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

-我需要能够在某种程度上查询数据。我基本上有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;
如果您需要从应用程序内的其他位置访问数据,请查看

这应该有帮助

    (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;
如果您需要从应用程序内的其他位置访问数据,请查看