Apache Cordova i Android - SQL z JavaScript: internetowa baza danych SQL

Spisie treści
Skupimy się tylko na Androidzie i jak przechowywać dane za pomocą Internetowa baza danych SQL i JQuery Mobile.
W poprzednim samouczku widzieliśmy, jak stworzyć prostą aplikację z Apache Cordova, Jquery mobile, html5 i css, która pozwoliłaby nam dodawać rekordy do bazy danych Sqlite, w tym przypadku zobaczymy, co każda funkcja robi w kodzie.
 Funkcja Opendatabase()
Funkcja opendatabase służy do utworzenia bazy danych lub otwarcia jej jeśli już została utworzona, potrzebujemy czterech parametrów, nazwy bazy danych, wersji, nazwy bazy, która będzie widoczna i rozmiaru w bajtach. Kiedy tworzymy i otwieramy bazę danych jest ona zapisywana w zmiennej, którą przypisujemy w tym przypadku db.
 function CreartDB () {db = window.openDatabase ("Klienci", "1.0", "Lista klientów", 1000000);}
Funkcję możemy również uruchomić po uruchomieniu aplikacji na urządzeniu z systemem Android
Podczas uruchamiania aplikacji wywołujemy funkcję, która tworzy bazę danych
 // Dodajemy zdarzenie, gdy aplikacja uruchomiła document.addEventListener ("deviceready", DeviceHome, false); function DeviceHome () {db = window.openDatabase ("Klienci", "1.0", "Lista klientów", 1000000); } 
Możemy również potrzebować odrobić pracę domową podczas uruchamiania aplikacji.W poprzednim przypadku widzieliśmy, jak wywołać funkcję, gdy aplikacja już się uruchomiła.
 function Uruchamianie () {document.addEventListener ("urządzenie gotowe", ConfigureApp (), false); } funkcja ConfigureAPP () {document.addEventListener ("wznów", OtraFuncion (), fałsz); } 
Z kodu HTML ze zdarzeniem onload, czyli podczas ładowania strony wywołujemy funkcję Starting, natomiast podczas startu (deviceready) wywołuje funkcję ConfigureAPP, która będzie działać w tle (resume).
Niektóre zdarzenia, z których możemy korzystać na Androida to:
urządzenie gotowe: to zdarzenie występuje po uruchomieniu aplikacji.
pauza: To zdarzenie jest wywoływane, gdy aplikacja zaczyna działać w tle.
podsumowuje: To zdarzenie występuje, gdy aplikacja przechodzi z tła na pierwszy plan.
online i offline: To zdarzenie występuje, gdy aplikacja łączy się z siecią lub rozłącza się z nią.
Są inne zdarzenia związane z interakcją z telefonem, ale zobaczymy te, które są bardziej związane z kontrolą kodu.
 Funkcja transakcji () 
Gdy chcemy przeprowadzić transakcję typu SQL stosujemy metodę transakcyjną. Funkcja składa się z trzech parametrów: funkcji z zapytaniem sql, funkcji pokazującej błąd w przypadku niepowodzenia zapytania oraz funkcji pokazującej, czy zapytanie zakończyło się powodzeniem.
Funkcja zapytania będzie realizowana za pomocą metody ExecuteSQL. Stworzymy trzy funkcje do wykonania w łańcuchu podczas uruchamiania aplikacji, są to:
konsultacjaDB: z zapytaniem sql
błądCDB (): pokaże, czy jest błąd w zapytaniu sql
CDB sukcesu (): wyświetli komunikat, jeśli zapytanie się powiodło.
 script charset = "utf-8"> // Podczas uruchamiania aplikacji wykonujemy kilka zapytań sql document.addEventListener ("deviceready", IniciaSQL, false); function StartSQL () {var db = window.openDatabase ("Kontakty", "1.0", "Lista kontaktów", 400000); db.transaction (consultDB, errorCB, successCB); } function queryDB (tx) {// Utwórz tabelę kontaktów, jeśli nie została utworzona tx.executeSql ('UTWÓRZ TABELĘ, JEŚLI NIE ISTNIEJE Kontakty (id, nazwa, e-mail)'); // Wstaw dane do tabeli tx.executeSql („INSERT INTO Contacts (id, name, email) VALUES (1, „José Cordova”, ”[email protected]”)'); tx.executeSql ('INSERT INTO Contacts (id, imię i nazwisko, e-mail) WARTOŚCI (2, „Maria Alpei”, ”[email protected]”) '); } // funkcja wyłapywania błędu w transakcji function errorCDB (error) {alert ("Błąd w zapytaniu SQL:" + error.code); } // Funkcja do wyświetlenia komunikatu o powodzeniu function exitCDB () {alert ("Zapytanie powiodło się!"); } 
Jak wykonać zapytanie o dane i wyświetlić je za pomocą zapytania sql, które zwraca tablicę lub macierz typu SQLResultSetList
 function queryDB (tx) {tx.executeSql ('SELECT * FROM Contacts', [], successCDB, errorCDB); } function db success (tx, results) {// otrzymujemy liczbę wierszy var totalcontacts = results.rows.length; // pokazujemy liczbę kontaktów console.log ("Total Contacts:" + totalcontacts); // Pokazujemy rekordy w pętli, w której pokazujemy każde pole tablicy for (var i = 0; i
Funkcja SQLResultSetList ma właściwość rows, która zawiera rekordy dla każdego wiersza tabeli, której dotyczy zapytanie. Ta tablica jest przemierzana za pomocą funkcji rows.item (i) i numeru wiersza. Musimy również wskazać, które pole tego wiersza chcemy pokazać. Przykład results.rows.item (i) .name.Możemy również pokazać to pole w jakimś elemencie html, takim jak pole tekstowe odwołujące się do jego identyfikatora.
 function querySuccess (tx, results) {var len = results.rows.length; document.getElementById ("divshow"). innerHTML + = "
Udać sięNazwa

"; for (var i = 0; i„+ wyniki.wiersze.element (i) .n nazwa +”"; } } 
Następnie w kodzie html musimy mieć w tym przypadku div o identyfikatorze divmotrar, aby wyświetlić tabelę z danymi zapytania.
Nawiasy w funkcji executeSQL służą do wysyłania parametrów ta właściwość jest opcjonalna, ponieważ nie zawsze będziemy musieli wysyłać parametry do zapytania SQL Jeśli chcemy wysłać parametry do zapytania, na przykład w celu aktualizacji danych z bazy danych:
 function Update (id, name) {db.transaction (function (tx) {tx.executeSql ("UPDATE Contacts SET name" =? WHERE id =? ", [name, id], errorCDB);}); 
Możemy również uzyskać dostęp do funkcji ze zdarzeniami z html, jak kliknięcie przycisku. Spójrzmy na przykład, jakbyśmy mając domyślny plik indeksu projektu Apache Cordova mogli dodać kod bazy danych oraz kod html przyciskiem Record, po kliknięciu przycisku Record zostanie wykonana funkcja, która wstawi dane do Baza danych.

Grawerować
Zalety programowania z WEB SQL DatabaseProgramista lub programiści nie muszą znać wszystkich platform, ponieważ działa na dowolnej platformie lub urządzeniu. Przeglądarki, Android, IOS itp., w niektórych przypadkach z minimalnymi zmianami. Oszczędza to dużo czasu, ponieważ nawet graficy lub webmasterzy mogą pracować bez konieczności bycia programistą, nawet wiedza o Jquery, która jest stosowana do tworzenia stron internetowych, jest w pełni wykorzystywana w tworzeniu aplikacji Apache Cordova.
Wady programowania w WEB SQL DatabaseBaza danych Web Sql wykorzystuje wtyczkę Sqlite jako środek do przetwarzania informacji, a do transakcji danych z natywną platformą wykorzystuje JSON, który wykorzystuje różne funkcje i parametry do obsługi kompleksu danych.
Jest to inny projekt niż Android, więc zawiera wiele funkcji z wersji natywnej.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt
wave wave wave wave wave