我正在使用Visual Studio 2013和Cordova Tools软件包。
我的大多数应用都在工作,现在我已准备好添加数据库逻辑。我有一个充满引号的数据库,我需要将其与应用程序联系起来。
点击此链接:adding dynamic data with SQLite
我能够让SQLite与数据库通信(using the sqlitePlugin)但是,我无法弄清楚如何使用预先填充的数据库。它总是创建一个新的空DB。我在网上发现了几篇文章,他们一直在说"将数据库放在www文件夹中" ...但是Cordova项目没有www文件夹。
将SQLite DB文件放在root中并不起作用,我尝试使用路径并将其放在子目录中。那里也没有运气。
有没有人能够做到这一点?
答案 0 :(得分:1)
老问题,但我会回答作为参考:我通过更改插件解决了这个问题。以前,我使用的是插件cordova-sqlite-storage
(https://github.com/litehelpers/Cordova-sqlite-storage),但它不会复制预先填充的数据库。它总是创造一个空的。
经过几天的战斗,我卸载了插件并安装了这个插件:cordova-plugin-sqlite
(https://www.npmjs.com/package/cordova-plugin-sqlite)。这个工作就像一个魅力,它将www文件夹中的数据库复制到设备。只需按照说明操作,不要忘记createFromLocation
参数。
奇怪的是,这两个插件都来自同一个作者,而且两者似乎都是活跃的项目。去图。
答案 1 :(得分:1)
老问题,但我会回答作为参考(2)!
cordova-sqlite-ext项目支持预先填充的SQLite。
步骤很简单:
然后,使用:
var db = window.sqlitePlugin.openDatabase({name: "sample.db", createFromLocation: 1});
更多信息:https://github.com/litehelpers/cordova-sqlite-ext#pre-populated-databases
许多网站和答案都指向使用Cordova-sqlite-storage。事实上,这个功能是在这个项目中,但它被移到了Cordova-sqlite-ext(它们来自同一个创建者)。
我不建议使用cordova-plugin-sqlite。它已被弃用。