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

Innholdsfortegnelse
Vi vil bare fokusere på Android og hvordan du lagrer data med Web SQL Database og JQuery Mobile.
I en tidligere opplæring så vi hvordan vi utvikler en enkel applikasjon med Apache Cordova, Jquery mobile, html5 og css som lar oss legge til poster i en Sqlite -database, i dette tilfellet vil vi se hva hver funksjon gjør i koden.
 Opendatabase () -funksjon
Opendatabase -funksjonen brukes til å lage en database eller åpne den hvis den allerede er opprettet, vi trenger fire parametere, navn på databasen, versjon, navn på databasen som vil bli sett og størrelsen i byte. Når vi oppretter og åpner en database, lagres den i variabelen som vi tildeler i dette tilfellet db.
 funksjon CreartDB () {db = window.openDatabase ("Klienter", "1.0", "Kundeliste", 1000000);}
Vi kan også kjøre funksjonen når du starter programmet på Android -enheten
Mens programmet starter, kaller vi funksjonen som lager databasen
 // Vi legger til en hendelse når programmet har startet document.addEventListener ("deviceready", DeviceHome, false); funksjon DeviceHome () {db = window.openDatabase ("Klienter", "1.0", "Kundeliste", 1000000); } 
Vi kan også trenge å gjøre lekser mens applikasjonen starter. I forrige tilfelle så vi hvordan vi skulle kalle en funksjon når applikasjonen allerede hadde startet.
 function Starting () {document.addEventListener ("deviceready", ConfigureApp (), false); } funksjon ConfigureAPP () {document.addEventListener ("CV", OtraFuncion (), false); } 
Fra HTML -filen med onload -hendelsen, det vil si når vi laster siden vi kaller Start -funksjonen, mens den ved start (deviceready) kaller den ConfigureAPP -funksjonen som skal kjøres i bakgrunnen (CV).
Noen hendelser som vi kan bruke tilgjengelig på Android er:
enhet klar: denne hendelsen skjer når programmet har startet.
pause: Denne hendelsen utløses når et program begynner å kjøre i bakgrunnen.
oppsummerer: Denne hendelsen skjer når programmet beveger seg fra bakgrunn til forgrunn.
online og offline: Denne hendelsen skjer når programmet kobler seg til eller kobles fra et nettverk.
Det er andre hendelser knyttet til interaksjon med telefonen, men vi vil se de som er mer knyttet til kontrollen av koden.
 Transaksjon () -funksjon 
Når vi ønsker å utføre en transaksjon av SQL -type, bruker vi transaksjonsmetoden. Funksjonen består av tre parametere: en funksjon med sql -spørringen, en funksjon for å vise feil hvis spørringen mislykkes, og en funksjon for å vise om spørringen var vellykket.
Spørringsfunksjonen vil bli utført gjennom ExecuteSQL -metoden. Vi vil lage tre funksjoner som skal kjøres i kjeden når vi starter applikasjonen, disse er:
konsulter DB: med sql -forespørsel
errorCDB (): vil vise om det er en feil i sql -spørringen
suksess CDB (): viser en melding hvis spørringen var vellykket.
 script charset = "utf-8"> // Når vi starter applikasjonen lager vi noen sql spørringer document.addEventListener ("deviceready", IniciaSQL, false); funksjon StartSQL () {var db = window.openDatabase ("Kontakter", "1.0", "Kontakterliste", 400000); db. transaksjon (konsulter DB, errorCB, successCB); } funksjonsforespørselDB (tx) {// Opprett kontakttabellen hvis den ikke er opprettet tx.executeSql ('CREATE TABLE IF NOT EXISTS Contacts (id, name, email)'); // Sett inn 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 -post) VERDIER (2, "Maria Alpei”, ”[email protected]”) '); } // funksjon for å fange feilen i transaksjonsfunksjonen errorCDB (feil) {alert ("Error in the SQL query:" + error.code); } // Funksjon for å vise en suksessmeldingsfunksjon exitCDB () {alert ("Forespørsel vellykket!"); } 
Slik søker du etter data og viser dem ved hjelp av en SQL -spørring som returnerer en matrise eller matrisetype SQLResultSetList
 funksjonsforespørselDB (tx) {tx.executeSql ('SELECT * FROM Contacts', [], successCDB, errorCDB); } funksjon db suksess (tx, resultater) {// vi får antall rader var totalcontacts = results.rows.length; // vi viser antall kontakter console.log ("Totale kontakter:" + totalkontakter); // Vi viser postene i en løkke der vi viser hvert felt i matrisen for (var i = 0; i
SQLResultSetList -funksjonen har egenskapene rader som inneholder postene for hver rad i tabellen du spør. Denne matrisen krysses av rader. Element (i) -funksjonen og radnummeret. Vi må også angi hvilket felt i den raden vi vil vise. Eksempel results.rows.item (i) .name.We kan også vise dette feltet i noen html -elementer, for eksempel et tekstfelt som refererer til identifikatoren.
 function querySuccess (tx, results) {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 må vi i dette tilfellet ha div med identifikatoren divmotrar slik at tabellen med spørringsdata vises.
Brakettene i executeSQL -funksjonen brukes til å sende parametere, denne egenskapen er valgfri siden vi ikke alltid trenger å sende parametere til SQL -spørringen Hvis vi vil sende parametere til en spørring, for eksempel for å oppdatere data fra databasen:
 funksjonsoppdatering (id, navn) {db.transaction (funksjon (tx) {tx.executeSql ("OPPDATER SET navn på kontakter" =? HVOR id =? ", [navn, id], feilCDB);}); 
Vi kan også få tilgang til funksjoner med hendelser fra html som å klikke på en knapp. La oss se et eksempel som om vi har standardindeksfilen til et Apache Cordova -prosjekt, vi kan legge til koden for databasen og html -koden med Record -knappen. Når du klikker på Record -knappen, utføres en funksjon som setter inn data i database.

Gravere
Fordeler med å utvikle med WEB SQL DatabaseDet er ikke nødvendig for programmereren eller utviklerne å kjenne alle plattformene som den kjører på hvilken som helst plattform eller enhet. Nettlesere, Android, IOS, etc, i noen tilfeller med minimale endringer. Dette sparer mye tid siden selv grafiske designere eller nettredaktører kan jobbe uten nødvendigvis å være programmerer, selv kunnskapen om Jquery som brukes på webutvikling, blir fullt ut brukt i utviklingen av Apache Cordova -applikasjoner.
Ulemper med å utvikle med WEB SQL DatabaseWeb Sql -databasen bruker Sqlite -pluginet som et middel for å behandle informasjon, og for datatransaksjoner med den opprinnelige plattformen bruker den JSON, som gjør bruk av forskjellige funksjoner og parametere for å håndtere datakomplekset.
Det er et annet prosjekt enn Android, så det inneholder funksjoner mye fra den opprinnelige versjonen.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave