我对在iOS上的Phonegap-Native-App中使用sqlite的局限性感到有些困惑.
你可以阅读很多关于5mb存储限制的帖子,以及你的Ipad可以要求你增加存储空间的事实.
现在,我已经设法使用通常的Phonegap-Storage-API将近7000行插入到我的sqlite数据库中.相应的db文件大小为26 MB.以下select语句“select * from”工作并显示db的内容.
我已经在模拟器和设备上完成了这项工作.我没有得到增加存储空间的问题.
怎么可能?我误解了什么吗?
Phonegap中的sqlite dbs真的有5mb的限制吗?
我正在使用Phonegap 1.2和iOS 5.
解决方法
您可以使用带有phonegap插件的原生sqlite DB(与Websql相同),您将没有任何限制.在iOS5.1中,Websql被认为是可以随时删除的临时数据…该插件将数据库保存在Document文件夹中,这意味着数据库不会被删除并由iCloud保存.
这是Native sqlite phonegap插件:https://github.com/davibe/Phonegap-SQLitePlugin
关于这个插件,Websql API之间存在一些差异,这里有一个适配器:
https://gist.github.com/2009518
您还应该将旧的Websql db文件(存储在Library / WebKit或Caches目录中)迁移到Document文件夹.这是一个代码:
https://gist.github.com/2009491
如果数据很重要,您应该将其保存到服务器.我写了一个小的lib来将sqlite DB同步到服务器:
https://github.com/orbitaloop/WebSqlSync