2016-04-04 22 views
0

Monaca IDE'yi kullanarak bir karma uygulama geliştiriyorum, kullanıyorum veritabanı Sqlite içinde yapıldı ve önizlemede harika çalışıyor, hatta başka bir proje vardı DB şeması ve çok çalıştı, ama .apk yapmayı denediğimde, uygulama çalışıyor ama db asla yaratılmıyor, farkında olmadığım başka bir şey yapmam gerekip gerekmediğini bilmiyorum. Burada neler olabileceğine dair bir fikriniz var!Sqlite, hibrid uygulamada çalışmıyor

Not: çalışmıyor ya ben firefox

yılında Monaca önizleme açarsanız bu benim db kodunuz: Bir geri arama cehennem oluşturmanız gerekirse emin değilim

$(document).ready(function(){ 
    onDeviceReady(); 
}); 


function onDeviceReady() { 
db = window.openDatabase('antel', '1.0', 'primera', 2 * 1024 * 1024); 
db.transaction(crearBase); 
}; 


function crearBase(tx) { 
tx.executeSql('Create table if not exists PARADA (nombre TEXT PRIMARY KEY)', [], function (tx) { 
    tx.executeSql('Create table if not exists REGISTRO (id INTEGER PRIMARY KEY autoincrement, nomParada TEXT REFERENCES PARADA (nombre), tipo TEXT ,km TEXT,fecha TEXT,hora TEXT)', [], function (tx) { 
     tx.executeSql('Create table if not exists EMAIL (id INTEGER PRIMARY KEY autoincrement,nombre TEXT)', [], function (tx) { 
      tx.executeSql('Select nombre FROM PARADA',[],meFijoSiEsVacia);}); 
    }); 
}); 

} 

cevap

0

:

<script src="//code.jquery.com/jquery-1.12.0.min.js"></script> 

Ve bu şekilde (bilmiyorum neden) o çalışır cihazın

önizleme ama ben bunu değiştirdi zaman:

<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script> 

çalıştı harika !,

Teşekkür ederim Kerosene, yardım etmeye çalışan tek kişi sensin!

1

bunun gibi. Her ifadenin iyi geçtiğine ve hatayla uğraşmayacağına inanıyor olmalısınız.

function onDeviceReady() { 
    var db = window.openDatabase('antel', '1.0', 'primera', 2 * 1024 * 1024); 
    db.transaction(crearBase, errorCB, successCB); 
}; 


function crearBase(tx) { 
    tx.executeSql('Create table if not exists PARADA (nombre TEXT PRIMARY KEY)'); 
    tx.executeSql('Create table if not exists REGISTRO (id INTEGER PRIMARY KEY autoincrement, nomParada TEXT REFERENCES PARADA (nombre), tipo TEXT ,km TEXT,fecha TEXT,hora TEXT)'); 
    tx.executeSql('Create table if not exists EMAIL (id INTEGER PRIMARY KEY autoincrement,nombre TEXT)'); 
    tx.executeSql('Select nombre FROM PARADA'); 
} 

function errorCB(err) { 
    console.log("Error occured while executing SQL: "+err.code); 
} 

function successCB() { 
    console.log("all fine"); 
} 

olabilir: kullandıkları SQLite eklentisi Cordova hangi çok emin değilim ama their documentation regarding SQLite

Onlar açarak sql işlemle ilgili tüm ifadeleri yürütme bir göz vardı - Monaca değilim Tüm bu başarı fonksiyonlarını yerleştirmek için bir neden, ancak aynı zamanda hata geri bildirimlerini de ele almalısınız. Sadece "önizleme çalıştı, cihaz değil" belirtmek yeterli değildir. Tarayıcı ortamı elbette Cordova eklentilerine göre farklıdır. Gazyağı vardı beri, benim jQuery ithalini oldu başlamıştı sorun bu ifadeleri yazma konusunda haklı olsa da