PhoneGap + Android中的IndexedDB

时间:2014-06-05 14:12:05

标签: android cordova indexeddb

我目前正在使用PhoneGap / Cordova应用程序,我正在尝试使用IndexedDB来存储数据。从我读到的内容来看,Android对它的支持相当稀缺,因此在我的电脑上运行的功能似乎不适用于我的平板电脑(Android 4.0.4)和手机(4.2.1)。

我一直在尝试使用IndexedDB Polyfill中描述的Parashuram's blog;但是,它似乎不适用于我的应用程序。更重要的是,当我在我的设备中运行Parashuram的示例应用程序时,它似乎不起作用并且单元测试失败。

有没有人对IndexedDB和PhoneGap + Android有任何经验?你用什么来让你的应用程序工作?

顺便提一下,IndexedDB似乎在两个设备中实现,因为这适用于两者,我可以创建和打开数据库:

window.indexedDB = window.indexedDB || window.mozIndexedDB
    || window.webkitIndexedDB || window.msIndexedDB;

但是,onupdateneeded事件似乎没有被触发,即使我正在使用jQuery IndexedDB plugin,它应该可以解决不同的实现。

2 个答案:

答案 0 :(得分:1)

我在项目中有使用垫片的经验,它适用于我的android。你用的是什么版本的Cordova?由于此错误,使用Cordova 3.2或更低版本时,它无法在Android上运行:https://github.com/apache/cordova-android/commit/6e4ef508e8f9f2d396515bd1d7465481d2f1285c

您使用的是最新的垫片版本吗?因为旧版本没有成功覆盖本机indexedDB对象。

我也是该项目的共同维护者,所以如果您有任何问题可以随意提问。

答案 1 :(得分:0)

IndexedDB在Android 4.4+设备上的PhoneGap中运行良好。我已经使用过它,它与在Chrome中使用IndexedDB相同。

4.4之前,Android的WebView did not support IndexedDB。有一些解决方法,比如你联系到的垫片,但这条道路往往不是很有趣。如果你能够瞄准只有4.4+的目标,那将使你的生活更加幸福。