Apache Cordova og Android - SQL med Javascript: Web SQL Database

Indholdsfortegnelse
Vi fokuserer kun på Android og hvordan man gemmer data med Web SQL Database og JQuery Mobile.
I en tidligere vejledning så vi, hvordan vi udvikler en simpel applikation med Apache Cordova, Jquery mobile, html5 og css, der ville give os mulighed for at tilføje poster til en Sqlite -database, i dette tilfælde vil vi se, hvad hver funktion gør inden for koden.
 Opendatabase () -funktion
Opendatabase -funktionen bruges til at oprette en database eller åbne den, hvis den allerede er oprettet, vi har brug for fire parametre, databasens navn, version, navnet på den database, der skal ses, og størrelsen i bytes. Når vi opretter og åbner en database, gemmes den i den variabel, vi tildeler i dette tilfælde db.
 funktion CreartDB () {db = window.openDatabase ("Klienter", "1.0", "Kundeliste", 1000000);}
Vi kan også køre funktionen, når du starter applikationen på Android -enheden
Mens applikationen starter, kalder vi den funktion, der opretter databasen
 // Vi tilføjer en hændelse, når applikationen har startet document.addEventListener ("deviceready", DeviceHome, false); funktion DeviceHome () {db = window.openDatabase ("Klienter", "1.0", "Kundeliste", 1000000); } 
Vi skal muligvis også lave nogle lektier, mens applikationen starter. I det foregående tilfælde så vi, hvordan man kalder en funktion, da applikationen allerede var startet.
 funktion Starter () {document.addEventListener ("deviceready", ConfigureApp (), false); } funktion ConfigureAPP () {document.addEventListener ("genoptag", OtraFuncion (), falsk); } 
Fra HTML med onload -hændelsen, det vil sige, når vi indlæser siden, kalder vi Start -funktionen, mens den ved start (deviceready) kalder den ConfigureAPP -funktion, der kører i baggrunden (genoptag).
Nogle begivenheder, som vi kan bruge tilgængelige på Android, er:
enheden klar: denne hændelse opstår, når applikationen er startet.
pause: Denne begivenhed udløses, når et program begynder at køre i baggrunden.
opsummerer: Denne hændelse opstår, når programmet bevæger sig fra baggrund til forgrund.
online og offline: Denne hændelse opstår, når applikationen opretter forbindelse til eller afbryder forbindelsen til et netværk.
Der er andre begivenheder relateret til interaktion med telefonen, men vi vil se dem, der er mere forbundet med styringen af ​​koden.
 Transaktion () -funktion 
Når vi ønsker at udføre en SQL -type transaktion, bruger vi transaktionsmetoden. Funktionen består af tre parametre: en funktion med sql -forespørgslen, en funktion til at vise fejl, hvis forespørgslen mislykkes, og en funktion til at vise, om forespørgslen var vellykket.
Forespørgselsfunktionen udføres ved hjælp af ExecuteSQL -metoden. Vi opretter tre funktioner, der skal udføres i kæden, når applikationen startes, disse er:
konsulter DB: med sql forespørgsel
fejlCDB (): vil vise, om der er en fejl i sql -forespørgslen
succes CDB (): viser en meddelelse, hvis forespørgslen lykkedes.
 script charset = "utf-8"> // Når programmet startes laver vi nogle sql forespørgsler document.addEventListener ("deviceready", IniciaSQL, false); funktion StartSQL () {var db = window.openDatabase ("Kontakter", "1.0", "Kontaktliste", 400000); db.transaktion (konsulterB, fejlCB, succesCB); } funktion forespørgselDB (tx) {// Opret kontakttabellen, hvis den ikke er oprettet tx.executeSql ('Opret tabel, hvis den ikke eksisterer kontakter (id, navn, e -mail)'); // Indsæt data i tabellen tx.executeSql ('INSERT INTO Contacts (id, name, email) VALUES (1, "José Cordova", "[email protected]")'); tx.executeSql ('INSERT INTO Contacts (id, navn, e -mail) VÆRDIER (2, "Maria Alpei”, ”[email protected]”) ’); } // funktion for at fange fejlen i transaktionsfunktionen errorCDB (fejl) {alert ("Fejl i SQL -forespørgslen:" + error.code); } // Funktion til visning af en succesbeskedfunktion exitCDB () {alert ("Forespørgsel vellykket!"); } 
Sådan forespørger du data og viser dem ved hjælp af en sql -forespørgsel, der returnerer en matrix- eller matricetype SQLResultSetList
 funktion forespørgselDB (tx) {tx.executeSql ('SELECT * FROM Contacts', [], successCDB, errorCDB); } funktion db succes (tx, resultater) {// vi får antallet af rækker var totalcontacts = results.rows.length; // vi viser antallet af kontakter console.log ("Total kontakter:" + totalkontakter); // Vi viser posterne i en loop, hvor vi viser hvert felt i arrayet for (var i = 0; i
Funktionen SQLResultSetList har egenskaben rows, der indeholder posterne for hver række i den forespurgte tabel. Denne matrix krydses med rækken. Element (i) -funktionen og rækkenummeret. Vi skal også angive, hvilket felt i den række vi vil vise. Eksempel results.rows.item (i) .name.We kan også vise dette felt i nogle html -elementer, f.eks. Et tekstfelt, der henviser til dets identifikator.
 funktion querySuccess (tx, resultater) {var len = results.rows.length; document.getElementById ("divshow"). innerHTML + = "
GåNavn

"; for (var i = 0; i" + results.rows.item (i) .n navn +""; } } 
Så i html -koden skal vi i dette tilfælde have div med identifikatoren divmotrar, så tabellen med forespørgseldata vises.
Parenteserne i executeSQL -funktionen bruges til at sende parametre, denne egenskab er valgfri, da vi ikke altid skal sende parametre til SQL -forespørgslen Hvis vi vil sende parametre til en forespørgsel, f.eks. For at opdatere data fra databasen:
 funktionsopdatering (id, navn) {db.transaction (funktion (tx) {tx.executeSql ("OPDATER kontakter SET navn" =? HVOR id =? ", [navn, id], fejlCDB);}); 
Vi kan også få adgang til funktioner med begivenheder fra html som at klikke på en knap. Lad os se et eksempel, som om vi har standardindeksfilen for et Apache Cordova -projekt, vi kan tilføje koden til databasen og html -koden med knappen Record, når du klikker på knappen Record, udføres en funktion, der vil indsætte data i database.

Gravere
Fordele ved at udvikle med WEB SQL DatabaseDet er ikke nødvendigt for programmereren eller udviklerne at kende alle platformene, da den kører på enhver platform eller enhed. Browsere, Android, IOS osv. I nogle tilfælde med minimale ændringer. Dette sparer meget tid, da selv grafiske designere eller webmastere kan arbejde uden nødvendigvis at være programmerer, selv den viden om Jquery, der anvendes til webudvikling, bruges fuldt ud i udviklingen af ​​Apache Cordova -applikationer.
Ulemper ved at udvikle med WEB SQL DatabaseWeb Sql -database bruger Sqlite -plugin'et som et middel til at behandle oplysninger og til datatransaktioner med den native platform bruger den JSON, som gør brug af forskellige funktioner og parametre til at håndtere datakomplekset.
Det er et andet projekt end Android, så det indeholder funktionaliteter meget fra den oprindelige version.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt
wave wave wave wave wave