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.
Anderson Carvalho
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?
Gustavo H. S. Andrade
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.
Anderson
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.
Rodnei Couto
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.
Anderson
Olá Rodnei, obrigado pela resposta.
Você tem um exemplo de script? Conforme expus meu dilema acima, será que não vai dar pau eu rodar milhares de inserts?