PhoneGap / iOS上的SQLite数据库 – 超过5MB的可能
我有点困惑在iOS上的PhoneGap本机应用程序中使用SQLite的限制。
你可以阅读关于5MB存储的限制和事实,你的iPad可以要求你增加存储的许多职位。
现在我已经设法使用通常的Phonegap-Storage-API将近7000行插入到SQLite数据库中。 相应的db文件大小为26 MB。 下面的select语句“select * from”工作,并显示数据库的内容。 我已经在模拟器和设备上完成了。 我没有得到提高存储的问题。
怎么可能? 我误解了什么? Phonegap中的SQLite dbs是否真的有5mb的限制? 我正在使用Phonegap 1.2和iOS 5。
您可以使用带有phonegap插件的本机SQLite数据库(与WebSQL相同),并且不会有任何限制。 在iOS5.1中,WebSQL被认为是可以随时删除的临时数据…该插件将数据库保存到Document文件夹中,这意味着数据库不会被删除并由iCloud保存。
这里是Native SQLite的phonegap插件: https : //github.com/davibe/Phonegap-SQLitePlugin关于这个插件,WebSQL API之间有一些区别,这里是一个适配器: https : //gist.github.com/2009518
您还应该将旧的WebSQL数据库文件(存储在Library / WebKit或Caches目录中)迁移到Document文件夹。 这是一个代码来做到这一点: https : //gist.github.com/2009491
如果数据很重要,则应将其保存到服务器。 我写了一个小的lib来同步SQlite数据库到服务器: https : //github.com/orbitaloop/WebSqlSync
我自己发现:
它成功地打开了第一笔交易,并且一次只能在一笔交易中插入7000条logging。
如果我将插入分割为单独的事务,假设每个事务有500条logging,则5 MB的限制将会生效。 PhoneGap不会说什么,它只是不插入logging。
HTML5存储在设备上的问题,它不会让你增加的大小。 看看这个解决scheme:
解决iOS数据库大小限制为5MB(使用插件)
希望这会帮助你。
干杯