Trabalhando com SQLite no Cordova/PhoneGap

Hoje comecei a fazer do 0 um aplicativo que já estava perto de ficar pronto, não estava gostando da estruturação do código e o tipo de banco de dados que eu estava usando não funcionava no iOS.

Após criar o projeto do Aplicativo no usando o terminal no Cordova, é tão simples que não precisa ser explicado, basta seguir o tutorial da própria página deles: Clicando Aqui

Depois de iniciar a base da codificação, decidi pular para fazer alguns testes com a parte de banco de dados que tanto me preocupava, pesquisei um pouco e encontrei um plugin para o Cordova chamado Cordova SQLite Plugin, a documentação é muito simples e a instalação via terminal não poderia ser mais fácil, segue oLink da página do Plugin:
https://github.com/lite4cordova/Cordova-SQLitePlugin

InstalaçãoPara fazer a instalação via terminal, digite a seguinte linha de comando:

cordova plugin add https://github.com/lite4cordova/Cordova-SQLitePlugin

Após a instalação, é só começar a usar…

Criando o Banco de Dados
Para poder usar o Banco em qualquer lugar do meu código, criei um variável chamada DB no início da página index.js, ficando mais ou menos assim o começo da página:

[code language=”javascript”]
var db;
var app = {
// Application Constructor
initialize: function() {
this.bindEvents();
},
[/code]

Após a função onDeviceReady, iniciei a criação do Banco de Dados e algumas queries:

[code language=”javascript”]
db = window.sqlitePlugin.openDatabase({name: "DB"});
db.transaction(function(tx) {
// Cria a Tabela "tabela_testes"
tx.executeSql(‘CREATE TABLE IF NOT EXISTS tabela_teste (id integer primary key, titulo text)’);
// Adiciona um elemento a tabela
tx.executeSql("INSERT INTO tabela_teste (titulo) VALUES (?)", ["Meu primeiro post."]);

// Faz uma busca na tabela
tx.executeSql("SELECT * FROM tabela_teste;", [], function(tx, res) {
alert("Quantidade Resultados: " + res.rows.length);
for (var i = 0;i<res.rows.length;i++){
alert("Linha "+i+": "+res.rows.item(i).titulo);
}
});
});

[/code]

Para Fazer uma query em qualquer parte do Aplicativo mesmo fora da página index.js, basta usar a variável DB e a query que deseja como no código acima.

5 comentários

  1. Olá amigo,

    Gostaria de uma sugestão para a migração de um banco de dados em MySQL para o Phonegap. A necessidade é que o aplicativo possa ser utilizado sem o uso de dados móveis (internet), portanto, web services e afins estão descartados. Sabe como posso proceder para migrar o banco e acessá-lo localmente a partir de de um aplicativo desenvolvido com Phonegap?

    • Fala Anderson, amigo a melhor opção que vejo nesse caso é realmente usar o SQLite com o Phonegap, quando o usuário acessar o aplicativo pela primeira vez, ou sempre que for necessário, o app faz uma sincronização do conteúdo no banco de dados MySQL na WEB para o seu app usando o SQLite como banco local, assim vc pode acessar os dados de modo offline.

      • Muito obrigado pela resposta!
        A ideia é essa mesmo. Por enquanto, estou em busca de um script para os inserts.
        Meu medo é o tamanho do banco, pois o banco MySQL está com 1,42MB. A maior tabela tem 1845 registros.

    • voce pode fazer um script de insert na primeira vez que o aplicativo rodar no telefone. Os campos blobs do MySQL vão para uma estrutura de arquivos (saem do banco) e os dados vão ser executados num insert normal inserindo tudo que estava no MySQL.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *