HTML5应用程序 - 存储数据的位置?

时间:2014-03-05 17:21:09

标签: javascript html5 cordova google-chrome-app

我正在制作简单的应用。我希望这个应用程序可以在任何设备上运行。它将作为普通的网络应用程序,android / ios应用程序(使用PhoneGap移植)和Chrome应用程序。

问题是,我真的不知道如何存储数据,所以它可以在任何上述设备上正常工作。我听说过localStorage,它看起来不错,但据报道它有5MB的大小限制,我不相信它就足够了(好吧,也许这对于简单的待办事项/笔记应用程序(我正在做的)来说已经足够了但是我不知道不知道我的应用程序将来会是什么样子,很难从localStorage切换。

我应该使用什么?

3 个答案:

答案 0 :(得分:2)

如果LocalStorage能满足您的直接需求,我会说继续使用它。

不要担心(未)您将来是否需要更耐用的东西。将数据从LocalStorage迁移到其他一些后端服务并不是什么大不了的事......而且你的应用程序可能永远无法达到你需要做的那一点。即这是一个很好的问题。

此外,如果您希望您的应用脱机工作,您可能需要使用LocalStorage进行客户端缓存,即使您希望将用户的数据存储在某个服务器上。

答案 1 :(得分:0)

我在phonegap中看到lawnchair,看起来还不错。

我找到了这个例子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>

答案 2 :(得分:0)

如果您想编写Chrome应用,请查看chrome.storage.local。它不受本地存储​​等低限制的约束,无论如何都会被禁用。

此外,如果您同时需要PhoneGap和桌面Chrome应用,也许请查看启用running chrome packaged apps on mobile using apache cordovacca工具