【问题标题】:HTML5 app - where to store data?HTML5 应用程序 - 在哪里存储数据?
【发布时间】:2014-03-05 17:21:09
【问题描述】:
我正在制作简单的应用程序。我希望这个应用程序可以在任何设备上运行。它将作为普通网络应用、android/ios 应用(使用 PhoneGap 移植)和 Chrome 应用运行。
问题是,我真的不知道如何存储数据,所以它可以在上述任何设备上正常工作。我听说过 localStorage,它看起来不错,但据报道它有 5MB 的大小限制,我不相信它就足够了(好吧,也许它对于简单的 todo/notes 应用程序(我正在制作的东西)就足够了,但我没有'不知道我的应用将来会是什么样子,并且很难从 localStorage 切换)。
我应该使用什么?
【问题讨论】:
标签:
javascript
html
cordova
google-chrome-app
【解决方案1】:
如果 LocalStorage 能够满足您的迫切需求,我会说继续使用它。
不要(现在)担心您将来是否需要更耐用的东西。将数据从 LocalStorage 迁移到其他后端服务并不是什么大问题……而且您的应用程序可能永远不会达到您需要这样做的地步。 IE。这是一个很好的问题。
此外,如果您希望您的应用离线工作,您可能需要使用 LocalStorage 进行客户端缓存,即使您希望将用户的数据存储在某处的服务器上。
【解决方案2】:
我看到lawnchair用在phonegap中,看起来还不错。
我找到了这个例子here:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="http://brian.io/lawnchair/downloads/lawnchair-0.6.1.js"></script>
</head>
<div id="data"></div>
<body>
<script type="text/javascript">
var store = new Lawnchair({
adapter: "dom",
name: "testing"
}, function(store) {
});
store.exists('dhaval', function(available){
var preStr = "";
if(available){
preStr = "key is already available, ";
}else{
preStr = "key not available, ";
// create an object
var me = {
key: 'dhaval'
};
// save it
store.save(me);
}
// access it later... even after app restart!
store.get('dhaval', function(me) {
$("#data").html(preStr + JSON.stringify(me));
});
});
</script>
</body>
</html>