SQLite:openDatabase调用中现在必须使用数据库位置或iosDatabaseLocation值

时间:2017-01-04 08:15:15

标签: angularjs sqlite ionic-framework

我正在为Android和iOS的离子应用程序使用SQLite插件

插件:cordova插件添加https://github.com/litehelpers/Cordova-sqlite-storage.git

离子版:2.1.18

cordova版本:6.4.0

节点版本:4.5.0

这是我打开和创建数据库的代码

var db;
db = $cordovaSQLite.openDB({ name: "test.db", iosDatabaseLocation:'default'});
$cordovaSQLite.execute(db, "CREATE TABLE IF NOT EXISTS OfflineData (id integer primary key, imageUrl text, videoUrl text, head text, title text, descr text)");

但是我在Android设备中运行这个问题时遇到了问题,比如

ionic.bundle.min.js:150 Error: Database location or iosDatabaseLocation value is now mandatory in openDatabase call
at newSQLError (plugins/cordova-sqlite-storage/www/SQLitePlugin.js:26)
at Object.<anonymous> (plugins/cordova-sqlite-storage/www/SQLitePlugin.js:565)
at Object.openDatabase (plugins/cordova-sqlite-storage/www/SQLitePlugin.js:59)
at Object.openDB (ng-cordova.js:5176)

任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您只是指定iOS位置,但在Android上运行。

您需要检测正在运行的平台(使用Ionic的Platform类)并使用Android的location属性和iOS的iosDatabaseLocation