我需要以下信息:
- 完整的Phonegap参考资料(在他们的网站上找不到)
- 如何在Phonegap中实现最简单的数据库?
更新2015
下面的回答已经非常过时了(由于最近它得到了一次点赞,我想我最好重新解决这个问题),Cordova Docs现在是文档的权威来源,尽管插件文档链接到的NPM页面有些混乱。至于最佳的存储数据的方式,内置在webkit中的sqllite数据库要么被删除,要么被弃用了。在过去的5年中,Lawnchair一直是事实上的标准,因为你可以随意更换数据存储引擎,LocalStorage是存储数据的最简单方法,但请注意,它的最大容量约为5兆字节(我曾经遇到过一些破坏问题)。如果你需要超过5兆字节的存储空间,我建议看看像sqllite这样的插件(它还有一个LawnChair适配器),或者PouchDB及其Cordova Adaptor if you need syncronization to the cloud.我留下了原始答案以备后用...
原始答案 - 大约在2010年
Wiki 是 PhoneGap 最接近完整参考的东西,尽管在他们的网站上并不容易找到。Javascript API 页面可能是可用外部函数的最完整参考,虽然可能有点过时。如果某些内容未按照文档运行,则可以去 Javascript API 去查看 Javascript 源代码(在不同设备上有所不同,在 iPhone 上,例如,您可以转到 github 并查看 JavaScript 类及其确切参数(您可能需要深入其他源代码部分才能确切地了解发生了什么,但所有代码都相当简单明了)。
关于实现数据库,最好使用内置于 WebKit 的 sqlite 数据库。
Jonathan Stark 的优秀著作,《使用 HTML、CSS 和 JavaScript 构建 iPhone 应用》,其中有一章讲述如何实现数据库。
实现数据库最简单的方法可能是使用Lawnchair。它非常易于使用,开箱即用,可能已经包括了您所需的大部分功能(包括搜索)。它跨浏览器,经过实战测试,并通过使用适配器进行良好降级。有一个适配器适用于Blackberry,还有一个支持查询的插件。这里是一个快速示例,使用适用于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});