我使用phonegap的时间很短,并且我对其中的存储概念遇到了一些麻烦。
因此,文档指出您可以打开这个数据库,它是一个 SQLite 实现。“window.openDatabase 返回一个新的数据库对象。
此方法将创建一个新的 SQL Lite 数据库并返回一个 Database 对象。使用数据库对象来操作数据。”http://docs.phonegap.com/en/2.2.0/cordova_storage_storage.md.html#Database http://docs.phonegap.com/en/2.2.0/cordova_storage_storage.md.html#Database我现在正在我的网络应用程序中使用它:
var myBuggedDb = window.openDatabase(shortName, version, displayName,maxSize);
它就像一个魅力。我可以用它来进行查询,从选择到删除。一切都很好,对吧?但是当我检查和调试代码时,我发现创建的是一个 WebSql 数据库。我还查阅了很多博客、维基百科和其他地方来获取有关该主题的更多信息。看到很多人把这两种技术搞得一团糟。 Phonegap Plugin 页面甚至没有 sqlite 插件。
现在,我们将更改我们的应用程序,以便它从 localStorage 获取 JSON 对象并对其进行转换。我想将它插入到我们的数据库中。但现在我很困惑,我不知道这是 webSql 还是 SQLite。有人可以澄清一下吗?它到底会在设备上作为 SQLite 还是 WebSql 运行?
编辑:如果您将来正在寻找这个问题,请小心行事:技术已经发生了很大变化,indexedDB 支持正在增长,还有许多其他选项,例如 Lawchair 等。在使用任何东西之前先做一点研究!
HTML 5 有这种数据库实现,该实现是通过将 Sql Lite 数据库嵌入到浏览器中来完成的。
像 chrome 和 Safari 这样的浏览器都有使用 sqlLite 实现的 Html5 数据库的实现,称为 websql,但当我接触时,Mozilla 并没有实现 Websql,而是实现了索引数据库。
我认为更好的选择是使用 Backbone.js 或 Lawnchair,尽管它们在内部都使用 websql,但 API 为您包装了所有内容。
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)