在Cordova(用于android)和Visual Studio中打开预先填充的SQLite数据库

时间:2015-03-08 02:50:32

标签: android visual-studio sqlite cordova

我正在使用Visual Studio 2013和Cordova Tools软件包。

我的大多数应用都在工作,现在我已准备好添加数据库逻辑。我有一个充满引号的数据库,我需要将其与应用程序联系起来。

点击此链接:adding dynamic data with SQLite

我能够让SQLite与数据库通信(using the sqlitePlugin)但是,我无法弄清楚如何使用预先填充的数据库。它总是创建一个新的空DB。我在网上发现了几篇文章,他们一直在说"将数据库放在www文件夹中" ...但是Cordova项目没有www文件夹。

将SQLite DB文件放在root中并不起作用,我尝试使用路径并将其放在子目录中。那里也没有运气。

有没有人能够做到这一点?

2 个答案:

答案 0 :(得分:1)

老问题,但我会回答作为参考:我通过更改插件解决了这个问题。以前,我使用的是插件cordova-sqlite-storagehttps://github.com/litehelpers/Cordova-sqlite-storage),但它不会复制预先填充的数据库。它总是创造一个空的。

经过几天的战斗,我卸载了插件并安装了这个插件:cordova-plugin-sqlitehttps://www.npmjs.com/package/cordova-plugin-sqlite)。这个工作就像一个魅力,它将www文件夹中的数据库复制到设备。只需按照说明操作,不要忘记createFromLocation参数。

奇怪的是,这两个插件都来自同一个作者,而且两者似乎都是活跃的项目。去图。

答案 1 :(得分:1)

  

老问题,但我会回答作为参考(2)!

cordova-sqlite-ext项目支持预先填充的SQLite。

步骤很简单:

  • 将数据库文件放在 www 目录中并打开数据库,如:www / sample.db

然后,使用:

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。它已被弃用。