【问题标题】: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>
      

      【讨论】:

        【解决方案3】:

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

        另外,如果您需要 PhoneGap 和桌面 Chrome 应用程序,不妨看看启用running chrome packaged apps on mobile using apache cordovacca 工具

        【讨论】:

          猜你喜欢
          • 2017-04-02
          • 1970-01-01
          • 2023-03-31
          • 2014-12-05
          • 2011-12-20
          • 1970-01-01
          • 2013-11-20
          • 2021-05-03
          • 2011-02-15
          相关资源
          最近更新 更多