2010-06-19 94 views

回答

9

更新2015年

下面的答案是非常过时(并且由于它最近得到了一个给予好评,我想我更好地重新解决它),在Cordova Docs现在是文档明确的地方,虽然目前插件文档链接到NPM页面,这是有点过渡和混乱。至于存储日期的最佳方式,构建到webkit中的sqllite数据库已消失或不推荐使用。 Lawnchair过去5年一直是事实上的标准,因为你可以交换存储引擎,LocalStorage是存储数据的最简单的方式,但是最多只能提高5 megs(我已经遇到了腐败问题) 。如果您需要超过5兆(它也有一个LawnChair适配器)或​​及其Cordova Adaptor如果您需要同步到云,我会推荐查看类似sqllite插件的内容。

,我为后人留下了原来的答案...

原来的答案 - 协卡2010

Wiki是最接近的事情,PhoneGap的有一个完整的参考,虽然它不是在他们的网站上找到最简单的东西。 Javascript API页面可能是对外部功能最全面的参考资料,虽然它可能有点过时。你可以做的最好的事情是,如果某些东西不能像记录的那样工作,那么转到Javascript API就是转到Javascript源代码(它不同于设备,例如,在iphone中,你可以去github并查看javascript类并查看它们的确切参数(您可能需要深入了解源代码的其他部分才能看到究竟发生了什么,但所有代码都非常简单)。到use is the sqlite database built into webkit。乔纳森·斯塔克的优秀图书,Building iPhone Apps with HTML, CSS, and JavaScript最好的东西,有一个chapter就这样做。

4

来实现数据库最简单的方法可能是使用Lawnchair。这是很容易使用和乱 - 这个盒子可能是你需要的大部分东西(包括搜索)。它跨浏览器,经过测试并通过使用适配器很好地降级。有一个黑莓适配器,以及一个支持查询的插件。下面是使用适用于Android和iPhone的WebKit适配器的简单示例,以展示它的简单性。

<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});