Javascript 在Windows 8应用程序中本地持久化数据的最佳方法
我正在为某人创建一个Windows8应用程序(使用HTML5和JavaScript),他们在数据存储方面对我提出了更高的要求,我需要一些指导。我需要的是一个数据源,它只为本地用户持久存在,而不是在数据库或云中在线。用户将被分配一台安装了应用程序的平板电脑,他们将通过表单输入数据以自定义本地副本 以下是我的要求: -数据必须在设备上安装应用程序的整个生命周期内保持不变 -我需要能够在某种程度上查询数据。我基本上有15-20个表单,它们将接受输入数据,然后是一个主表单,它将从15-20个“子”表单中获取信息,以填充下拉列表和选择选项 -大小不应该是一个问题,它的所有文本数据,并没有多少将被输入。在应用程序的生命周期内,无法看到速度超过几百MB 我已经研究了XML、indexedDB(表面上听起来不错,但没有找到任何保证这种情况会持续下去)和应用程序数据(本地),这些数据在我的阅读能力中似乎非常有限 你认为我最好的选择是什么?如有任何建议,将不胜感激 谢谢。这应该会有帮助Javascript 在Windows 8应用程序中本地持久化数据的最佳方法,javascript,windows,storage,local,Javascript,Windows,Storage,Local,我正在为某人创建一个Windows8应用程序(使用HTML5和JavaScript),他们在数据存储方面对我提出了更高的要求,我需要一些指导。我需要的是一个数据源,它只为本地用户持久存在,而不是在数据库或云中在线。用户将被分配一台安装了应用程序的平板电脑,他们将通过表单输入数据以自定义本地副本 以下是我的要求: -数据必须在设备上安装应用程序的整个生命周期内保持不变 -我需要能够在某种程度上查询数据。我基本上有15-20个表单,它们将接受输入数据,然后是一个主表单,它将从15-20个“子”表单中
(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;
如果您需要从应用程序内的其他位置访问数据,请查看