„Apache Cordova“ ir „Android“ - SQL su „Javascript“: žiniatinklio SQL duomenų bazė

Turinys
Mes sutelksime dėmesį tik į „Android“ ir kaip saugoti duomenis Žiniatinklio SQL duomenų bazė ir „JQuery Mobile“.
Ankstesnėje pamokoje matėme, kaip sukurti paprastą programą su „Apache Cordova“, „Jquery mobile“, html5 ir css, kuri leistų mums pridėti įrašų prie „Sqlite“ duomenų bazės, šiuo atveju pamatysime, ką kiekviena funkcija atlieka kodu.
 Opendatabase () funkcija
Opendatabase funkcija naudojama duomenų bazei sukurti arba atidaryti, jei ji jau buvo sukurta, mums reikia keturių parametrų, duomenų bazės pavadinimo, versijos, matomos duomenų bazės pavadinimo ir dydžio baitais. Kai sukuriame ir atidarome duomenų bazę, ji išsaugoma kintamajame, kurį šiuo atveju priskiriame db.
 funkcija CreartDB () {db = window.openDatabase ("Klientai", "1.0", "Klientų sąrašas", 1000000);}
Šią funkciją taip pat galime paleisti, kai paleidžiate programą „Android“ įrenginyje
Kai programa paleidžiama, mes iškviečiame funkciją, kuri sukuria duomenų bazę
 // Pridedame įvykį, kai programa paleidžia dokumentą.addEventListener ("deviceready", DeviceHome, false); funkcija DeviceHome () {db = window.openDatabase ("Klientai", "1.0", "Klientų sąrašas", 1000000); } 
Kai programa paleidžiama, mums taip pat gali tekti atlikti namų darbus. Anksčiau mes matėme, kaip iškviesti funkciją, kai programa jau buvo paleista.
 function Starting () {document.addEventListener ("deviceready", ConfigureApp (), false); } funkcija ConfigureAPP () {document.addEventListener ("atnaujinti", OtraFuncion (), false); } 
Iš HTML su įkelimo įvykiu, tai yra, įkeliant puslapį mes vadiname pradžios funkcija, o paleidžiant („deviceready“) ji iškviečia „ConfigureAPP“ funkciją, kuri veiks fone (atnaujinimas).
Kai kurie įvykiai, kuriuos galime naudoti „Android“, yra šie:
įrenginys: šis įvykis įvyksta paleidus programą.
Pauzė: Šis įvykis suaktyvinamas, kai programa pradeda veikti fone.
apibendrina: Šis įvykis įvyksta, kai programa pereina iš fono į priekinį planą.
internete ir neprisijungus: Šis įvykis įvyksta, kai programa prisijungia prie tinklo arba atsijungia nuo jo.
Yra ir kitų įvykių, susijusių su sąveika su telefonu, tačiau pamatysime tuos, kurie labiau susiję su kodo valdymu.
 Transaction () funkcija 
Kai norime atlikti SQL tipo operaciją, naudojame sandorio metodą. Funkciją sudaro trys parametrai: funkcija su SQL užklausa, funkcija, rodanti klaidą, jei užklausa nepavyksta, ir funkcija, rodanti, ar užklausa buvo sėkminga.
Užklausos funkcija bus vykdoma naudojant „ExecuteSQL“ metodą. Pradėdami programą sukursime tris funkcijas, kurias reikia atlikti grandinėje:
pasikonsultuotiDB: su sql užklausa
Klaida CDB (): parodys, ar sql užklausoje yra klaida
sėkmės CDB (): parodys pranešimą, jei užklausa buvo sėkminga.
 script charset = "utf-8"> // Paleisdami programą padarome keletą SQL užklausų document.addEventListener ("deviceready", IniciaSQL, false); funkcija StartSQL () {var db = window.openDatabase ("Kontaktai", "1.0", "Kontaktų sąrašas", 400000); db. sandoris (consultDB, errorCB, successCB); } function queryDB (tx) {// Sukurkite kontaktų lentelę, jei ji nesukurta // Įterpti duomenis į lentelę tx.executeSql ('INSERT INTO Contacts (id, name, email) VALUES (1, "José Cordova", "[email protected]")'); tx.executeSql ('INSERT INTO Contacts (ID, vardas, el. pašto adresas) VERTYBĖS (2, „Maria Alpei“, “[email protected]“) '); } // funkcija, skirta užfiksuoti operacijos funkcijos klaidą errorCDB (error) {alert ("Klaida SQL užklausoje:" + error.code); } // Sėkmingo pranešimo funkcijos rodymo funkcija exitCDB () {alert ("Užklausa sėkminga!"); } 
Kaip užklausti duomenis ir juos rodyti naudojant SQL užklausą, kuri grąžina masyvo ar matricos tipą SQLResultSetList
 funkcija queryDB (tx) {tx.executeSql ('SELECT * FROM Contacts', [], successCDB, errorCDB); } funkcija db sėkmė (tx, rezultatai) {// gauname eilučių skaičių var totalcontacts = results.rows.length; // rodome kontaktų skaičių console.log ("Total Contacts:" + totalcontacts); // Rodome įrašus cikle, kuriame rodome kiekvieną masyvo lauką (var i = 0; i
Funkcija SQLResultSetList turi eilučių ypatybę, kurioje yra kiekvienos užklausos lentelės eilutės įrašai. Šis masyvas perkeliamas naudojant funkciją rows.item (i) ir eilutės numerį. Taip pat turime nurodyti, kurį tos eilutės lauką norime parodyti. Rezultatų pavyzdžiai.rows.item (i) .name. Šį lauką taip pat galime parodyti kai kuriuose html elementuose, pvz., Teksto lauke, nurodančiame jo identifikatorių.
 funkcija querySuccess (tx, rezultatai) {var len = results.rows.length; document.getElementById ("divshow"). internalHTML + = "
Eikvardas

"; nes (var i = 0; i" + results.rows.item (i) .n name +""; } } 
Tada html kode šiuo atveju turime turėti div su identifikatoriumi divmotrar, kad būtų rodoma lentelė su užklausos duomenimis.
Funkcijos „executeSQL“ skliausteliuose yra siunčiami parametrai, ši savybė yra neprivaloma, nes mums ne visada reikės siųsti parametrus į SQL užklausą. Jei norime siųsti parametrus į užklausą, pavyzdžiui, norėdami atnaujinti duomenis iš duomenų bazės:
 funkcija Atnaujinti (id, vardas) {db.transaction (function (tx) {tx.executeSql ("UPDATE Contacts SET name" =? WHERE id =? ", [name, id], errorCDB);}); 
Taip pat galime pasiekti funkcijas su įvykiais iš html, pavyzdžiui, spustelėję mygtuką. Pažvelkime į pavyzdį, tarsi turėtume numatytąjį „Apache Cordova“ projekto indekso failą, kurį galime pridėti duomenų bazės kodą ir html kodą naudodami mygtuką Įrašyti, spustelėjus mygtuką Įrašyti, bus vykdoma funkcija, kuri įterps duomenis į duomenų bazę.

Graviruoti
Privalumai kuriant naudojant WEB SQL duomenų bazęProgramuotojui ar kūrėjams nebūtina žinoti visų platformų, nes jos veikia bet kurioje platformoje ar įrenginyje. Naršyklės, „Android“, „IOS“ ir kt., Kai kuriais atvejais su minimaliais pakeitimais. Tai sutaupo daug laiko, nes net grafikos dizaineriai ar žiniatinklio valdytojai gali dirbti nebūdami programuotojais, net žinios apie „Jquery“, kurios taikomos žiniatinklio kūrimui, yra visiškai naudojamos kuriant „Apache Cordova“ programas.
Kuriant naudojant WEB SQL duomenų bazę, trūkumai„Web Sql“ duomenų bazė naudoja „Sqlite“ įskiepį kaip priemonę informacijai apdoroti ir duomenų operacijoms su vietine platforma naudoti JSON, kuri naudoja įvairias funkcijas ir parametrus, kad galėtų tvarkyti duomenų kompleksą.
Tai skiriasi nuo „Android“ projekto, todėl jame daug funkcijų yra iš gimtosios versijos.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave