Cuprins
Ne vom concentra doar pe Android și cum să stocați date cu Baza de date Web SQL și JQuery Mobile.Într-un tutorial anterior am văzut cum să dezvoltăm o aplicație simplă cu Apache Cordova, Jquery mobile, html5 și css care ne va permite să adăugăm înregistrări într-o bază de date Sqlite, în acest caz vom vedea ce face fiecare funcție în cadrul codului.
Funcția Opendatabase ()Funcția opendatabase este utilizată pentru a crea o bază de date sau a o deschide dacă a fost deja creată, avem nevoie de patru parametri, numele bazei de date, versiunea, numele bazei de date care va fi văzută și dimensiunea în octeți. Când creăm și deschidem o bază de date, aceasta este salvată în variabila pe care o atribuim în acest caz db.
funcția CreartDB () {db = window.openDatabase („Clienți”, „1.0”, „Lista clienților”, 1000000);}Putem rula funcția și atunci când porniți aplicația pe dispozitivul Android
În timp ce aplicația pornește, apelăm funcția care creează baza de date
// Adăugăm un eveniment când aplicația a început document.addEventListener („deviceready”, DeviceHome, false); funcție DeviceHome () {db = window.openDatabase ("Clienți", "1.0", "Lista clienți", 1000000); }Este posibil să trebuiască să facem niște teme în timp ce aplicația pornește. În cazul anterior, am văzut cum să apelăm o funcție când aplicația a început deja.
funcția Start () {document.addEventListener ("deviceready", ConfigureApp (), false); } funcție ConfigureAPP () {document.addEventListener ("resume", OtraFuncion (), false); }Din HTML cu evenimentul de încărcare, adică la încărcarea paginii numim funcția Start, în timp ce la pornire (deviceready) apelează funcția ConfigureAPP care va rula în fundal (reluare).
Unele evenimente pe care le putem folosi disponibile pe Android sunt:
dispozitive gata: acest eveniment apare la pornirea aplicației.
pauză: Acest eveniment este declanșat când o aplicație începe să ruleze în fundal.
rezumă: Acest eveniment apare atunci când aplicația se mută din fundal în prim-plan.
online și offline: Acest eveniment apare atunci când aplicația se conectează sau se deconectează de la o rețea.
Există alte evenimente legate de interacțiunea cu telefonul, dar le vom vedea pe cele care sunt mai asociate cu controlul codului.
Funcția tranzacție ()Când dorim să efectuăm o tranzacție de tip SQL, folosim metoda tranzacției. Funcția constă din trei parametri: o funcție cu interogarea sql, o funcție pentru a afișa erori dacă interogarea eșuează și o funcție pentru a arăta dacă interogarea a avut succes.
Funcția de interogare va fi realizată prin metoda ExecuteSQL. Vom crea trei funcții de executat în lanț la pornirea aplicației, acestea fiind:
consultDB: cu interogare sql
eroareCDB (): va arăta dacă există o eroare în interogarea SQL
CDB de succes (): va afișa un mesaj dacă interogarea a avut succes.
script charset = "utf-8"> // La pornirea aplicației facem câteva interogări SQL document.addEventListener ("deviceready", IniciaSQL, false); funcția StartSQL () {var db = window.openDatabase ("Contacte", "1.0", "Listă contacte", 400000); db.transaction (consultDB, errorCB, successCB); } function queryDB (tx) {// Creați tabelul de contacte dacă nu este creat tx.executeSql ('CREARE TABEL DACĂ NU EXISTĂ Contacte (id, nume, e-mail)'); // Introduceți date în tabel tx.executeSql ('INSERT INTO Contacts (id, name, email) VALUE (1, "José Cordova”, ”[email protected]”)'); tx.executeSql ('INSERT INTO Contacts (id, nume, e-mail) VALORI (2, „Maria Alpei”, ”[email protected]”) '); } // funcție pentru a prinde eroarea în funcția de tranzacție eroare CDB (eroare) {alert ("Eroare în interogarea SQL:" + error.code); } // Funcție pentru afișarea unei funcții de mesaj de succes exitCDB () {alert ("Interogare reușită!"); }Cum să interogați date și să le afișați utilizând o interogare sql care returnează un tip matrice sau matrice SQLResultSetList
function queryDB (tx) {tx.executeSql ('SELECT * FROM Contacts', [], successCDB, errorCDB); } funcție db succes (tx, rezultate) {// obținem numărul de rânduri var totalcontacts = results.rows.length; // afișăm numărul de contacte console.log ("Total contacte:" + totalcontacts); // Afișăm înregistrările într-o buclă unde afișăm fiecare câmp al matricei pentru (var i = 0; iFuncția SQLResultSetList are proprietatea rânduri care conține înregistrările pentru fiecare rând al tabelului interogat. Această matrice este parcursă cu funcția rows.item (i) și numărul rândului. De asemenea, trebuie să indicăm ce câmp din acel rând vrem să afișăm. Exemple results.rows.item (i) .name. Putem afișa și acest câmp în unele elemente html, cum ar fi un câmp text care face referire la identificatorul său.
function querySuccess (tx, results) {var len = results.rows.length; document.getElementById ("divshow"). innerHTML + = "Apoi, în codul html trebuie să avem în acest caz divul cu identificatorul divmotrar, astfel încât să fie afișat tabelul cu datele interogării. Parantezele din funcția executeSQL sunt folosite pentru a trimite parametri, această proprietate este opțională, deoarece nu va trebui întotdeauna să trimitem parametri la interogarea SQL."; pentru (var i = 0; i Merge Nume " + results.rows.item(i).id + "> „+ results.rows.item (i) .n nume +” "; } }
funcție Actualizare (id, nume) {db.transaction (funcție (tx) {tx.executeSql ("ACTUALIZARE contacte SET nume" =? WHERE id =? ", [nume, id], eroareCDB);});De asemenea, putem accesa funcții cu evenimente din html, cum ar fi clic pe un buton. Să vedem un exemplu ca și cum ar fi fișierul index implicit al unui proiect Apache Cordova putem adăuga codul bazei de date și codul html cu butonul Înregistrare, când faceți clic pe butonul Înregistrare se va executa o funcție care va introduce date în Bază de date.
Avantajele dezvoltării cu baza de date SQL WEBNu este necesar ca programatorul sau dezvoltatorii să cunoască toate platformele, deoarece rulează pe orice platformă sau dispozitiv. Browsere, Android, IOS etc., în unele cazuri cu modificări minime. Acest lucru economisește foarte mult timp, deoarece chiar și graficienii sau webmasterii pot lucra fără a fi neapărat un programator, chiar și cunoștințele despre Jquery care sunt aplicate dezvoltării web sunt pe deplin utilizate în dezvoltarea aplicațiilor Apache Cordova.
Grava
Dezavantaje ale dezvoltării cu baza de date SQL WEBBaza de date Web Sql folosește pluginul Sqlite ca mijloc de procesare a informațiilor și pentru tranzacțiile de date cu platforma nativă, folosește JSON, care utilizează diferite funcții și parametri pentru a gestiona complexul de date.
Este un proiect diferit de Android, deci încorporează multe funcționalități față de versiunea nativă.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv