Javascript 为什么我不能使用cordova sqlite存储?
我正在编写一个android应用程序,我正在使用phonegap和weinre进行调试 一些信息:Javascript 为什么我不能使用cordova sqlite存储?,javascript,android,sqlite,cordova,weinre,Javascript,Android,Sqlite,Cordova,Weinre,我正在编写一个android应用程序,我正在使用phonegap和weinre进行调试 一些信息: $ phonegap -v 5.3.9 $ cordova plugin list cordova-plugin-whitelist 1.2.0 "Whitelist" cordova-sqlite-storage 0.7.14 "Cordova sqlite storage plugin" 插件已经安装,但当我用phonegap运行它并在手机中打开它时,控制台上什么也没有显示。没有错误,什么都
$ phonegap -v
5.3.9
$ cordova plugin list
cordova-plugin-whitelist 1.2.0 "Whitelist"
cordova-sqlite-storage 0.7.14 "Cordova sqlite storage plugin"
插件已经安装,但当我用phonegap运行它并在手机中打开它时,控制台上什么也没有显示。没有错误,什么都没有。窗口对象是在控制台中打印的,但不是所有其他对象
我使用的是phonegap的默认配置,有人能告诉我为什么会发生这种情况吗
这是我在js脚本中编写的代码
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady(event) {
console.log(window);
//var db = window.sqlitePlugin.openDatabase({name: "my.db"});
//var openDatabase = sqlitePlugin.openDatabase;
console.log(window.sqlitePlugin);
console.log(window.sqlitePlugin.openDatabase);
var db = window.sqlitePlugin.openDatabase({name: "test.db"},
function(db) {
console.log('db open succeeded');
},
function(err) {
console.log('Open database ERROR: ' + JSON.stringify(err));
}
);
db.executeSql("create table tmp 'column1' INT;", [], function (res) {
console.log('got stringlength: ' + res.rows.item(0).stringlength);
}, function(error) {
console.log('SELECT error: ' + error.message);
});
db.executeSql("SELECT LENGTH('tenletters') AS stringlength", [], function (res) {
console.log('got stringlength: ' + res.rows.item(0).stringlength);
}, function(error) {
console.log('SELECT error: ' + error.message);
});
}
我建议不要使用weinre,除非你真的必须这样做。此处列出的某些设备的内置备选方案:您好,请在onDeviceReady()中执行类似操作。 可能它无法使用sqllite db
onDeviceReady: function() {
app.receivedEvent('deviceready');
if(window.sqlitePlugin !== undefined) {
console.log('opening sqlite DB ');
db = window.sqlitePlugin.openDatabase("ECM_MOBILE");
} else {
console.log('opening Web SQL DB ');
db = window.openDatabase("ECM_MOBILE", "1.0", "Cordova Demo", 200000);
}
}
如果未正确安装sqlite,则需要修复sqlite db的安装。在更新版本的sqlite中,打开数据库时必须设置插件位置:
var db = window.sqlitePlugin.openDatabase({name: "my.db", location: "default"});
@dspjm可能重复,您的问题解决了吗?