Apache Cordova ve Android - Javascript ile SQL: Web SQL Veritabanı

İçindekiler
Sadece Android'e odaklanacağız ve verilerin nasıl saklanacağı Web SQL Veritabanı ve JQuery Mobile.
Önceki bir eğitimde, Apache Cordova, Jquery mobile, html5 ve css ile bir Sqlite veritabanına kayıt eklememize izin verecek basit bir uygulamanın nasıl geliştirileceğini gördük, bu durumda her bir fonksiyonun kod içinde ne yaptığını göreceğiz.
 Açık veritabanı () işlevi
opendatabase işlevi bir veritabanı oluşturmak veya zaten oluşturulmuşsa onu açmak için kullanılır, dört parametreye ihtiyacımız var, veritabanının adı, sürümü, görülecek veritabanının adı ve bayt cinsinden boyut. Bir veritabanı oluşturup açtığımızda bu durumda atadığımız değişkene kaydedilir db.
 function CreartDB () {db = window.openDatabase ("İstemciler", "1.0", "Müşteri Listesi", 1000000);}
Android cihazda uygulamayı başlattığınızda da işlevi çalıştırabiliriz.
Uygulama başlarken veritabanını oluşturan fonksiyonu çağırıyoruz.
 // Uygulama başlatıldığında bir olay ekliyoruz document.addEventListener ("deviceready", DeviceHome, false); function DeviceHome () {db = window.openDatabase ("İstemciler", "1.0", "Müşteri Listesi", 1000000); } 
Uygulama başlarken de bazı ödevler yapmamız gerekebilir.Bir önceki durumda, uygulama başladığında bir fonksiyonun nasıl çağrılacağını gördük.
 function Başlatma () {document.addEventListener ("deviceready", ConfigureApp (), false); } function ConfigureAPP () {document.addEventListener ("özgeçmiş", OtraFuncion (), yanlış); } 
onload olayı ile HTML'den, yani sayfayı yüklerken Başlatma işlevini çağırırız, başlatırken (cihaza hazır) arka planda çalışacak (devam) ConfigureAPP işlevini çağırırız.
Android'de kullanabileceğimiz bazı etkinlikler şunlardır:
cihaz hazır: bu olay, uygulama başladığında meydana gelir.
Duraklat: Bu olay, bir uygulama arka planda çalışmaya başladığında tetiklenir.
özetler: Bu olay, uygulama arka plandan ön plana geçtiğinde meydana gelir.
çevrimiçi ve çevrimdışı: Bu olay, uygulama bir ağa bağlandığında veya ağ bağlantısını kestiğinde meydana gelir.
Telefonla etkileşimle ilgili başka olaylar da var, ancak daha çok kodun kontrolü ile ilgili olanları göreceğiz.
 İşlem () işlevi 
SQL tipi bir işlem yapmak istediğimizde işlem yöntemini kullanırız. İşlev üç parametreden oluşur: sql sorgulu bir işlev, sorgu başarısız olursa hatayı gösteren bir işlev ve sorgunun başarılı olup olmadığını gösteren bir işlev.
Sorgu işlevi ExecuteSQL yöntemi ile gerçekleştirilecektir. Uygulamayı başlatırken zincirde yürütmek için üç işlev oluşturacağız, bunlar:
danışmakDB: sql sorgusu ile
hataCDB (): sql sorgusunda bir hata olup olmadığını gösterecek
başarı CDB (): sorgu başarılı olduysa bir mesaj gösterecektir.
 script charset = "utf-8"> // Uygulamayı başlatırken bazı sql sorguları yaparız document.addEventListener ("deviceready", IniciaSQL, false); function StartSQL () {var db = window.openDatabase ("Kişiler", "1.0", "Kişiler listesi", 400000); db.transaction (consultDB, errorCB, SuccessCB); } function queryDB (tx) {// Oluşturulmamışsa kişiler tablosunu oluşturun tx.executeSql ('VAR OLMADIĞINDA TABLO OLUŞTURUN Kişiler (id, ad, e-posta)'); // Verileri tabloya ekleyin tx.executeSql ('INSERT INTO Contacts (id, name, email) VALUES (1, "José Cordova”, ”[email protected]”)'); tx.executeSql ('INSERT INTO Contacts (kimlik, ad, e-posta) DEĞERLER (2, "Maria Alpei”, ”[email protected]”) '); } // işlemdeki hatayı yakalama işlevi errorCDB (hata) {alert ("SQL sorgusunda hata:" + error.code); } // Başarı mesajını gösteren fonksiyon fonksiyon exitCDB () {alert ("Sorgu başarılı!"); } 
Bir dizi veya matris tipi SQLResultSetList döndüren bir sql sorgusu kullanarak verileri sorgulama ve görüntüleme
 function queryDB (tx) {tx.executeSql ('Kişilerden * SEÇ', [], SuccessCDB, errorCDB); } function db başarı (tx, sonuçlar) {// satır sayısını alıyoruz var totalcontacts = sonuçlar.rows.length; // kişi sayısını gösteririz console.log ("Toplam Kişi:" + toplam kişi); // Kayıtları (var i = 0; i) için dizinin her alanını gösterdiğimiz bir döngüde gösteriyoruz
SQLResultSetList işlevi, sorgulanan tablonun her satırı için kayıtları içeren rows özelliğine sahiptir. Bu dizi, rows.item (i) işlevi ve satır numarası ile geçilir. Ayrıca o satırın hangi alanını göstermek istediğimizi de belirtmeliyiz. Örnek sonuçlar.rows.item (i) .name.Bu alanı, tanımlayıcısına atıfta bulunan bir metin alanı gibi bazı html öğelerinde de gösterebiliriz.
 function sorguSuccess (tx, sonuçlar) {var len = sonuçlar.rows.length; document.getElementById ("divshow"). innerHTML + = "
Gitmekİsim

"; for (var i = 0; i"+ sonuçlar.rows.item (i) .n ad +""; } } 
Daha sonra html kodunda bu durumda divmotrar tanımlayıcısına sahip div'e sahip olmalıyız, böylece sorgu verilerini içeren tablo görüntülenir.
ExecuteSQL işlevindeki parantezler parametre göndermek için kullanılır, çünkü her zaman SQL sorgusuna parametre göndermemiz gerekmeyeceğinden bu özellik isteğe bağlıdır.
 function Güncelleme (id, ad) {db.transaction (işlev (tx) {tx.executeSql ("Kişiler SET adı GÜNCELLEME" =? NEREDE id =? ", [ad, kimlik], errorCDB);}); 
Bir butona tıklamak gibi html'den olaylar içeren fonksiyonlara da erişebiliriz. Bir örnek görelim, bir Apache Cordova projesinin varsayılan indeks dosyasına sahipmişiz gibi veritabanı için kodu ve html kodunu Kayıt butonu ile ekleyebiliriz, Kayıt butonu tıklandığında içine veri ekleyecek bir fonksiyon yürütülecektir. veri tabanı.

gravür
WEB SQL Veritabanı ile geliştirmenin avantajlarıHerhangi bir platform veya cihaz üzerinde çalıştığı için programcı veya geliştiricilerin tüm platformları bilmesine gerek yoktur. Bazı durumlarda minimum değişiklikle tarayıcılar, Android, IOS vb. Bu, grafik tasarımcıları veya web yöneticileri bile mutlaka bir programcı olmadan çalışabildikleri için çok zaman kazandırır, hatta web geliştirmeye uygulanan Jquery bilgisi bile Apache Cordova uygulamalarının geliştirilmesinde tamamen kullanılır.
WEB SQL Veritabanı ile geliştirmenin dezavantajlarıWeb Sql veritabanı, bilgileri işlemek için bir araç olarak Sqlite eklentisini kullanır ve yerel platformla veri işlemleri için, veri karmaşıklığını işlemek için farklı işlevlerin ve parametrelerin kullanımını sağlayan JSON'u kullanır.
Android'den farklı bir projedir, bu nedenle yerel sürümden çok sayıda işlevsellik içerir.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave