Apache Cordova и Android - SQL с Javascript: Web SQL база данни

Съдържание
Ще се съсредоточим само върху Android и как да съхранявате данни Web SQL база данни и JQuery Mobile.
В предишен урок видяхме как да разработим просто приложение с Apache Cordova, Jquery mobile, html5 и css, което би ни позволило да добавяме записи към база данни Sqlite, в този случай ще видим какво прави всяка функция в кода.
 Opendatabase () функция
Функцията opendatabase се използва за създаване или отваряне на база данни, ако вече е създадена, имаме нужда от четири параметъра, име на базата данни, версия, име на базата данни, която ще се вижда, и размера в байтове. Когато създаваме и отваряме база данни, тя се записва в променливата, която присвояваме в този случай db.
 функция CreartDB () {db = window.openDatabase ("Клиенти", "1.0", "Списък на клиенти", 1000000);}
Също така можем да стартираме функцията, когато стартирате приложението на устройството с Android
Докато приложението се стартира, ние извикваме функцията, която създава базата данни
 // Добавяме събитие, когато приложението е стартирало document.addEventListener ("deviceready", DeviceHome, false); функция DeviceHome () {db = window.openDatabase ("Клиенти", "1.0", "Списък на клиенти", 1000000); } 
Може да се наложи да направим и домашна работа, докато приложението се стартира.В предишния случай видяхме как да извикаме функция, когато приложението вече е стартирало.
 функция Starting () {document.addEventListener ("deviceready", ConfigureApp (), false); } функция ConfigureAPP () {document.addEventListener ("възобновяване", OtraFuncion (), невярно); } 
От HTML с събитието onload, тоест при зареждане на страницата ние извикваме функцията Starting, докато при стартиране (deviceready) извиква функцията ConfigureAPP, която ще работи във фонов режим (възобновяване).
Някои събития, които можем да използваме за Android, са:
готово устройство: това събитие възниква, когато приложението е стартирано.
пауза: Това събитие се задейства, когато приложение започне да работи във фонов режим.
обобщава: Това събитие възниква, когато приложението се премести от фон на преден план.
онлайн и офлайн: Това събитие възниква, когато приложението се свързва или прекъсва връзката с мрежа.
Има и други събития, свързани с взаимодействието с телефона, но ще видим тези, които са по -свързани с контрола на кода.
 Функция Transaction () 
Когато искаме да извършим транзакция от тип SQL, използваме метода на транзакцията. Функцията се състои от три параметъра: функция с sql заявката, функция за показване на грешка, ако заявката е неуспешна, и функция за показване дали заявката е успешна.
Функцията за заявка ще се изпълнява чрез метода ExecuteSQL. Ще създадем три функции за изпълнение във верига при стартиране на приложението, това са:
консултирайте се с DB: с sql заявка
errorCDB (): ще покаже дали има грешка в sql заявката
CDB за успех (): ще покаже съобщение, ако заявката е била успешна.
 script charset = "utf-8"> // При стартиране на приложението правим няколко sql заявки document.addEventListener ("deviceready", IniciaSQL, false); функция StartSQL () {var db = window.openDatabase ("Контакти", "1.0", "Списък с контакти", 400000); db.transaction (advisDB, errorCB, successCB); } функция queryDB (tx) {// Създайте таблицата с контакти, ако не е създадена tx.executeSql ('CREATE TABLE IF NOT EXISTS Contacts (id, name, email)'); // Вмъкване на данни в таблицата tx.executeSql ('INSERT INTO Contacts (id, name, email) VALUES (1, "José Cordova", "[email protected]")'); tx.executeSql ('INSERT INTO Contacts (id, name, email) VALUES (2, "Maria Alpei", “[email protected]”) '); } // функция за улавяне на грешката в транзакционната функция errorCDB (грешка) {alert ("Грешка в SQL заявката:" + error.code); } // Функция за показване на съобщение за успешна функция exitCDB () {alert ("Заявката е успешна!"); } 
Как да заявите данни и да ги покажете с помощта на sql заявка, която връща масив или матрица тип SQLResultSetList
 функция queryDB (tx) {tx.executeSql ('SELECT * FROM Contacts', [], successCDB, errorCDB); } функция db успех (tx, резултати) {// получаваме броя редове var totalcontacts = results.rows.length; // показваме броя на контакти console.log ("Общо контакти:" + totalcontacts); // Показваме записите в цикъл, където показваме всяко поле от масива за (var i = 0; i
Функцията SQLResultSetList има свойството rows, което съдържа записите за всеки ред от заявената таблица. Този масив се пресича с функцията rows.item (i) и номера на реда. Трябва също да посочим кое поле от този ред искаме да покажем. Пример results.rows.item (i) .name.Можем също да покажем това поле в някой html елемент, като например текстово поле, отнасящо се до неговия идентификатор.
 функция querySuccess (tx, резултати) {var len = results.rows.length; document.getElementById ("divshow"). innerHTML + = "
ОтивамИме

"; for (var i = 0; i" + results.rows.item (i) .n име +""; } } 
След това в html кода трябва да имаме в този случай div с идентификатора divmotrar, така че да се покаже таблицата с данните за заявката.
Скобите във функцията executeSQL се използват за изпращане на параметри, това свойство не е задължително, тъй като не винаги ще трябва да изпращаме параметри към SQL заявката. Ако искаме да изпращаме параметри към заявка, например за актуализиране на данни от базата данни:
 функция Update (id, name) {db.transaction (function (tx) {tx.executeSql ("UPDATE Contacts SET SET name" =? WHERE id =? ", [name, id], errorCDB);}); 
Също така можем да получим достъп до функции със събития от html, като натискане на бутон. Нека да видим пример, сякаш имаме индексния файл по подразбиране на проект на Apache Cordova, можем да добавим кода за базата данни и html кода с бутона Запис, когато щракнете върху бутона Запис, ще се изпълни функция, която ще вмъкне данни в база данни.

Гравиране
Предимства на разработването с WEB SQL база данниНе е необходимо програмистът или разработчиците да познават всички платформи, тъй като те работят на всяка платформа или устройство. Браузъри, Android, IOS и т.н., в някои случаи с минимални промени. Това спестява много време, тъй като дори графичните дизайнери или уеб администраторите могат да работят, без непременно да са програмист, дори знанията за Jquery, които се прилагат за уеб разработка, се използват изцяло при разработването на приложения на Apache Cordova.
Недостатъци на разработването с WEB SQL база данниБазата данни Web Sql използва приставката Sqlite като средство за обработка на информация и за транзакции с данни с родната платформа, използва JSON, което прави използването на различни функции и параметри за обработка на комплекса с данни.
Това е различен проект от Android, така че включва функционалности много от родната версия.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave