我想使用IndexedDB技术为数据库构建jQueryMobile应用程序。在web浏览器中开发时,该应用程序正在运行。我如何将此应用程序转换为原生android应用程序(使用phonegap)并保留IndexedDB数据库中的数据?我知道我的IndexedDB数据库的位置在:
C:Users<User Name>AppDataLocalGoogleChromeUser DataDefaultIndexedDB
那么,我的应用程序有办法在移动设备上使用IndexedDB吗?对于转换,我使用phonegap云,但转换后的应用程序无法访问数据库。我正在测试Nexus 7平板电脑。我电脑上的应用程序运行良好。
编辑1:我正在测试谷歌Nexus 7平板电脑。Android版本是4.4.2,所以我认为IndexedDB在我的设备上是受支持的。问题是,我不知道如何在转换时从上面的位置实现文件(如何处理它),这样数据库就会在我的设备上找到。(我正在使用phonegap云进行转换)。
版本4.4之前的android浏览器不支持意外的IndexedDB。
查看此页面以了解可用性:http://caniuse.com/indexeddb
似乎有一种方法,看看Iwona Trńbka在这一页上的回答。
或者,您可以使用类似Lawnchair的东西来封装数据库访问。
请通过此链接获取支持,INDEXDB support
我在安卓4.3上测试过它,但它没有工作,但在这里它显示它支持4.4。
此外,请浏览IOS 的博客
在Android 4.x上实现了一个旧版本,但在Android 4.4上应该可以在没有插件的情况下工作。我使用了一个适用于iOS和Android的polyfill,它实际上使用了websql。polyfill添加了indexedDB API,而我实际上不受支持,并将调用转换为websql!
websql在android 2+上受支持。有关详细信息,请参阅索引DBShim:https://github.com/axemclion/IndexedDBShim/
注意:polyfill并不完美,并非所有方法都支持IDDBKeyRange,但在大多数情况下都可以解决它。如果你想在未来支持iOS,它确实适用于iOS 4+。
编辑:同样是回答你的问题,你可以按名称打开数据库。不需要知道磁盘上的实际位置。