我写了一个HTML5数据库,它抽象了localStorage,indexedDB和WebSQL。使用直接HTML5我的数据库选项如下所示:
我想使用PhoneGap或Quota API扩展最大数据库大小。从PhoneGap的文档看起来,当前的PhoneGap database ecosphere是:
还有PhoneGap SqlLite插件。 iOS,Android,Windows Phone 8+
问题1 - 我对数据库PhoneGap使用的准确性有何了解?
问题2 - 是否有关于给定类型的PhoneGap数据库将存储多少数据的可靠文档? *如果是PhoneGap数据库而不是浏览器数据库实现。
问题3 - PhoneGap是否计划遵守Web Storage standards,从而放弃WebSQL而转而使用indexedDB?如果是这样,一旦切换到indexedDB,我仍然可以使用我现有的WebSQL代码(通过内置的PhoneGap-polyfill)吗?
问题4 - 在数据库大小有限且无法通过PhoneGap或Quota API进行扩展但是可以访问文件系统的情况下,假设“额外”是合理的数据可以存储在设备的文件系统上还是存储在SD卡上?
答案 0 :(得分:95)
我对数据库PhoneGap将使用的准确度的理解是什么?
是的。 PhoneGap可以使用LocalStorage,SessionStorage或SQLite数据库。您也可以使用PhoneGap通过插件连接到设备本机类,并传递本机类数据,然后将其存储在设备上。
是否有关于给定类型的PhoneGap数据库将存储多少数据的可靠文档?如果是PhoneGap数据库而不是浏览器数据库实现。
PhoneGap是否计划遵守Web存储标准,从而放弃WebSQL而转而使用indexedDB?如果是这样,一旦切换到indexedDB,我仍然可以使用我现有的WebSQL代码(通过内置的PhoneGap-polyfill)吗?
WebSQL正在慢慢被弃用。它的替代品是IndexedDB或SQLite。但是,最好的选择是SQLite或本机数据库(例如iOS上的核心数据)
在数据库大小有限且无法通过PhoneGap或Quota API扩展但是可以访问文件系统的情况下,可以合理地假设“额外”数据可以存储在设备的文件系统上或在SD卡上?
绝对有可能。
我在my answer中添加了如何编写SQLite和LocalStorage数据库的解释。
答案 1 :(得分:6)
我能够在Android 4.0.4平板电脑上运行测试。它使用WebSQL(一个甚至不支持db.changeVersion的旧版WebSQL),它允许我填满整个硬盘(12GB与我的数据库)。我不知道其他设备或SD卡如何工作。
答案 2 :(得分:3)
IndexedDB -
WebSQL -
SQLite -
如果你想要一个关于SQLite的快速教程