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

Innehållsförteckning
Vi kommer bara att fokusera på Android och hur man lagrar data med Web SQL Database och JQuery Mobile.
I en tidigare handledning såg vi hur man utvecklar en enkel applikation med Apache Cordova, Jquery mobile, html5 och css som gör att vi kan lägga till poster i en Sqlite -databas, i det här fallet får vi se vad varje funktion gör inom koden.
 Opendatabase () -funktion
Opendatabas -funktionen används för att skapa en databas eller öppna den om den redan skapats, vi behöver fyra parametrar, databasens namn, version, namnet på databasen som kommer att visas och storleken i byte. När vi skapar och öppnar en databas sparas den i variabeln som vi tilldelar i det här fallet db.
 funktion CreartDB () {db = window.openDatabase ("Klienter", "1.0", "Kundlista", 1000000);}
Vi kan också köra funktionen när du startar programmet på Android -enheten
Medan programmet startar kallar vi funktionen som skapar databasen
 // Vi lägger till en händelse när programmet har startat document.addEventListener ("deviceready", DeviceHome, false); funktion DeviceHome () {db = window.openDatabase ("Klienter", "1.0", "Kundlista", 1000000); } 
Vi kan också behöva göra några läxor medan applikationen startar. I det föregående fallet såg vi hur vi skulle ringa en funktion när applikationen redan hade startat.
 funktion Startar () {document.addEventListener ("deviceready", ConfigureApp (), false); } funktion ConfigureAPP () {document.addEventListener ("CV", OtraFuncion (), false); } 
Från HTML -filen med onload -händelsen, det vill säga när vi laddar sidan kallar vi Start -funktionen, medan den vid start (deviceready) kallar den ConfigureAPP -funktionen som körs i bakgrunden (CV).
Några händelser som vi kan använda tillgängliga på Android är:
enhet redo: denna händelse inträffar när programmet har startat.
paus: Denna händelse aktiveras när ett program börjar köras i bakgrunden.
sammanfattar: Den här händelsen inträffar när programmet flyttas från bakgrund till förgrund.
online och offline: Den här händelsen inträffar när programmet ansluter till eller kopplar från ett nätverk.
Det finns andra händelser relaterade till interaktion med telefonen, men vi kommer att se dem som är mer associerade med kontrollen av koden.
 Transaction () -funktion 
När vi vill utföra en transaktion av SQL -typ använder vi transaktionsmetoden. Funktionen består av tre parametrar: en funktion med SQL -frågan, en funktion för att visa fel om frågan misslyckas och en funktion som visar om frågan lyckades.
Frågefunktionen kommer att utföras med ExecuteSQL -metoden. Vi kommer att skapa tre funktioner att köra i kedja när programmet startas, dessa är:
rådfråga DB: med sql -fråga
errorCDB (): visas om det finns ett fel i sql -frågan
framgång CDB (): kommer att visa ett meddelande om frågan lyckades.
 script charset = "utf-8"> // När programmet startas gör vi några sql-frågor document.addEventListener ("deviceready", IniciaSQL, false); funktion StartSQL () {var db = window.openDatabase ("Kontakter", "1.0", "Kontakter lista", 400000); db.transaktion (konsulteraDB, errorCB, successCB); } funktionsfrågaDB (tx) {// Skapa kontakttabellen om den inte är skapad tx.executeSql ('SKAPA TABELL OM DET INTE FINNS Kontakter (id, namn, e -post)'); // Infoga data i tabellen tx.executeSql ('INSERT INTO Contacts (id, name, email) VALUES (1, "José Cordova", "[email protected]")'); tx.executeSql ('INSERT INTO Contacts (id, namn, e -post) VÄRDEN (2, "Maria Alpei”, ”[email protected]”) '); } // funktion för att fånga upp felet i transaktionsfunktionen errorCDB (fel) {alert ("Fel i SQL -frågan:" + error.code); } // Funktion för att visa en framgångsmeddelandefunktion exitCDB () {alert ("Frågan lyckades!"); } 
Hur man frågar efter data och visar den med en SQL -fråga som returnerar en array eller matris typ SQLResultSetList
 funktion queryDB (tx) {tx.executeSql ('VÄLJ * FRÅN Kontakter', [], successCDB, errorCDB); } funktion db framgång (tx, resultat) {// vi får antalet rader var totalcontacts = results.rows.length; // vi visar antalet kontakter console.log ("Totalt antal kontakter:" + totalkontakter); // Vi visar posterna i en loop där vi visar varje fält i arrayen för (var i = 0; i
SQLResultSetList -funktionen har egenskapen rader som innehåller posterna för varje rad i den frågade tabellen. Den här matrisen korsas med raderna.item (i) -funktionen och radnumret. Vi måste också ange vilket fält i den raden vi vill visa. Exempel results.rows.item (i) .name.We kan också visa detta fält i vissa html -element, t.ex. ett textfält som hänvisar till dess identifierare.
 funktion querySuccess (tx, resultat) {var len = results.rows.length; document.getElementById ("divshow"). innerHTML + = "
Gånamn

"; för (var i = 0; i" + results.rows.item (i) .n namn +""; } } 
Sedan i html -koden måste vi i detta fall ha div med identifieraren divmotrar så att tabellen med frågedata visas.
Parenteserna i executeSQL -funktionen används för att skicka parametrar, den här egenskapen är valfri eftersom vi inte alltid behöver skicka parametrar till SQL -frågan Om vi ​​vill skicka parametrar till en fråga, till exempel för att uppdatera data från databasen:
 funktionsuppdatering (id, namn) {db.transaction (funktion (tx) {tx.executeSql ("UPDATE Contacts SET name" =? WHERE id =? ", [name, id], errorCDB);}); 
Vi kan också komma åt funktioner med händelser från html som att klicka på en knapp. Låt oss se ett exempel som om vi har standardindexfilen för ett Apache Cordova -projekt vi kan lägga till koden för databasen och html -koden med knappen Spela in, när du klickar på knappen Spela in kommer en funktion att köras som kommer att infoga data i databas.

Gravera
Fördelar med att utveckla med WEB SQL DatabaseDet är inte nödvändigt för programmeraren eller utvecklarna att känna till alla plattformar eftersom den körs på någon plattform eller enhet. Webbläsare, Android, IOS, etc, i vissa fall med minimala ändringar. Detta sparar mycket tid eftersom även grafiska formgivare eller webbansvariga kan arbeta utan att nödvändigtvis vara programmerare, även kunskapen om Jquery som tillämpas på webbutveckling används fullt ut i utvecklingen av Apache Cordova -applikationer.
Nackdelar med att utveckla med WEB SQL DatabaseWeb Sql -databasen använder Sqlite -plugin som ett sätt att behandla information och för datatransaktioner med den inbyggda plattformen använder den JSON, som använder olika funktioner och parametrar för att hantera datakomplexet.
Det är ett annat projekt än Android, så det innehåller funktioner mycket från den ursprungliga versionen.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave