gpt4 book ai didi

javascript - Cordova PhoneGap 从 2.2.0 升级到 5.1.1

转载 作者:IT老高 更新时间:2023-10-28 21:20:17 29 4
gpt4 key购买 nike

我有 2.2.0 版的 Cordova 应用程序。现在我要升级,我已经做了升级部分,升级后,应用程序图像不显示,它来黑屏。连闪屏也没来。这是我的代码

现在我达到了某种程度。我模拟的应用程序是关于 SQLitePlugin 的问题。当打开数据库说 db.cordova 没有定义

如何安装数据库 - 将数据库从 db 文件夹复制到 android 安装位置。效果很好。

这是我的数据库:

    var DB              = new Object();
DB.isDBSupported = false;
DB.isDBCreated = false;
DB.vocabDB = null;
DB.tables = ['userResponses', 'wordGroups', 'words', 'wordMapping', 'checkExists', 'patch_version']
DB.createdTables = 0;
DB.setupCallback = null;
DB.curQP = null;
DB.accountStatus = false;
DB.sfx = true;
DB.showWarnings = true;
DB.firstLaunch = false;

DB.initDB = function(callback) {
this.setupCallback = callback || function(){/*console.log("null function called")*/};
this.openDB();
var db = this;
if(!isPhoneGap()) {
_.delay(this.checkDB.bind(this), 500);
}
}

DB.checkDB = function() {
var db = this;
this.vocabDB.transaction(
function (t) {
t.executeSql('DROP TABLE checkExists', [], db.setupDBResultHandler.bind(db), db.setupDBErrorHandler.bind(db, ">>delete exists"))
}
)
}

DB.openDB = function() {

try {
if (!window.openDatabase) {
alert('Cannot open database!');
} else {
var shortName = 'sns2';
var version = '1.0';
var displayName = 'sns2';
var maxSize = (isAndroid()) ? 5242880 : 1000000;

if(!isPhoneGap()) {
this.vocabDB = window.openDatabase(shortName, version, displayName, maxSize, this.DBCreated);
} else if(isAndroid()) {
utils.log("ANDROID DATABASE .. ");
this.vocabDB = window.sqlitePlugin.openDatabase(shortName, version, displayName, maxSize, this.DBCreated);
} else if(isIOS()) {
utils.log("iOS DATABASE .. ");
this.vocabDB = window.sqlitePlugin.openDatabase(shortName, version, displayName, maxSize, this.DBCreated);
}
this.DBSupported = true;
if(isPhoneGap()) {
this.setupCallback();
}

}
} catch(e) {
alert("Unable to open db." + e.message);
return;
}
}

Service.js

function getGroupCategory(handler) {
console.log("selecting wordGroups");
DB.vocabDB
.transaction(function(t) {
t
.executeSql('SELECT * FROM categories', [], function(transaction, resultSet) {
handler(transaction, resultSet);
}, DB.transactionErrorHandler
.bind(DB, "Error while selecting wordGroups"));
})
}

当我调用此方法时,我收到此错误消息 could not prepare statement(1 no such table) 错误代码 5 table is avaibale

请有任何建议或想法..

最佳答案

我建议从 5.1.1 开始清理。这样就可以防止升级整个系统容易引起的问题,并让您不断寻找问题的根源。

这听起来可能需要做更多的工作,但肯定会比升级更轻松,至少这是我使用 PhoneGap 的个人经验告诉我的。

关于javascript - Cordova PhoneGap 从 2.2.0 升级到 5.1.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31720556/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com