Cordova uygulamasının 2.2.0 sürümü var. Şimdi yükseltmek istiyorum, yükseltme bölümü yaptım, yükseltme yaptıktan sonra, uygulama görüntüleri görüntülenmiyor, boş ekran geldi. hatta açılış ekranı da gelmedi. İşte benim kodumCordova PhoneGap 2.2.0'dan güncelleme 5.1.1
Şimdi bir seviyeye ulaştım. Uygulamayı simüle ettim, yaklaşık SQLitePlugin
sorunudur. Ne zaman açık veritabanı db.cordova tanımlamıyorsa tanım
Nasıl veritabanı yükleme - veritabanını db klasöründen android yükleme konumuna kopyalayın. Bu iyi çalıştı. i could not prepare statement(1 no such table) error code 5
tablo avaibale
Lütfen herhangi bir öneri veya fikir bu hata mesajını aldım bu yöntemi çağrıldığında
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"));
})
}
:
Bu benim veritabanıdır.
2.2.0'dan 5.1.1'e yükseltmek için yapmanız gereken tüm değişikliklerin farkında mısınız? Bazıları: http://docs.phonegap.com/en/3.4.0/guide_platforms_android_upgrading.md.html Projeyi ve telefon hafızasını yükseltip güncellediniz mi? – Piwwoli
Birisi iOS'takiyle aynı hatayı alıyordu: https://issues.apache.org/jira/browse/CB-1546 şu şekilde önerildi: 'db.transaction() çağrınızı şu şekilde değiştirmelisiniz: db.transaction (function, [], win, fail) to: db.transaction (işlev, başarısız, kazan) ' – Piwwoli
Bu hatayı aldım' 'Uncaught TypeError: 'Database' üzerinde 'transaction' çalıştırılamıyor: parametre 2 olarak sağlanan geri arama bir işlev değildir. ", kaynak: file: /// android_asset/www/com/jsonParser.js' – Piraba