Database Phonegap:存储数据/Phonegap引用的最简单方法

Database Phonegap:存储数据/Phonegap引用的最简单方法,database,cordova,Database,Cordova,我正在查找以下信息: 完整的Phonegap引用(在其网站上找不到) 在Phonegap中实现数据库最简单的方法是什么 2015年更新 下面的答案是非常过时的(因为它最近得到了更新投票,我认为我最好重新设计它),现在是文档的最终位置,尽管目前插件文档链接到NPM页面,这有点过渡和混乱。至于存储日期的最佳方法,webkit中内置的sqllite数据库要么已经过时,要么已经弃用。在过去的5年中,LocalStorage一直是事实上的标准,因为您可以交换存储引擎,LocalStorage是存储数据的

我正在查找以下信息:

  • 完整的Phonegap引用(在其网站上找不到)
  • 在Phonegap中实现数据库最简单的方法是什么

    • 2015年更新

      下面的答案是非常过时的(因为它最近得到了更新投票,我认为我最好重新设计它),现在是文档的最终位置,尽管目前插件文档链接到NPM页面,这有点过渡和混乱。至于存储日期的最佳方法,webkit中内置的sqllite数据库要么已经过时,要么已经弃用。在过去的5年中,LocalStorage一直是事实上的标准,因为您可以交换存储引擎,LocalStorage是存储数据的最简单方式,但请注意,它的最大容量为5兆(我遇到了它的损坏问题)。如果你需要5兆以上(它还有一个LawnChair适配器),或者如果你需要与云同步,我建议你看看插件之类的东西

      我把最初的答案留给了后代

      原始答案-大约2010年

      这是phonegap最接近完整引用的东西,尽管在他们的网站上找到它并不容易。该页面可能是关于外部功能的最完整参考,尽管它可能有点过时。如果某些东西没有按文档所述运行,那么您可以做的最好的事情就是转到Javascript API,即转到Javascript源代码(不同设备的源代码不同,例如在iphone中,您可以转到Javascript类并查看它们的确切参数)(您可能需要深入了解源代码的其他部分,以了解到底发生了什么,但所有代码都非常简单)


      至于实现数据库,最好的方法是。乔纳森·斯塔克(Jonathan Stark)的优秀著作对此有详细的论述。

      实现数据库最简单的方法可能是使用。它非常容易使用,而且开箱即用可能会完成您需要的大部分工作(包括搜索)。它是跨浏览器的,经过了战斗测试,通过使用适配器,性能下降得很好。有一个适用于Blackberry的适配器和一个支持查询的插件。下面是一个使用WebKit适配器的快速示例,该适配器适用于Android和iPhone,以显示它有多简单

      <script type="text/javascript" src="Lawnchair.js" charset="utf-8"></script> 
      <script type="text/javascript" src="webkit-sqlite.js" charset="utf-8"></script>
      // Open local DB connection
      var lawnchair = new Lawnchair({table:'mytable', adaptor:'webkit'}, function(){
          // Lawnchair setup! 
      });
      // Getting some data out of the lawnchair database
      lawnchair.get('my_data_key', function(obj) {
          if (obj !== undefined) {
              lastSyncDate = obj.lastSync;
              dataList = obj.dataList;
          }
      });
      // Saving to the database
      lawnchair.save({key:'my_data_key', lastSync: currentTime, dataList: someData});
      
      
      //打开本地数据库连接
      var lawnchair=new lawnchair({表:'mytable',适配器:'webkit',函数(){
      //Lawnchair设置!
      });
      //从lawnchair数据库中获取一些数据
      lawnchair.get('my_data_key',函数(obj){
      如果(对象!==未定义){
      lastSyncDate=obj.lastSync;
      dataList=obj.dataList;
      }
      });
      //保存到数据库
      save({key:'my_data_key',lastSync:currentTime,dataList:someData});