Android e Bancos de Dados

Documentos relacionados
Android e Bancos de Dados

Android e Bancos de Dados

Android e Bancos de Dados

Tutorial de Manipulação de dados com SQLite

Desenvolvimento de um aplicativo básico usando o Google Android

Programação para Dispositivos Móveis

Desenvolvimento de um aplicativo básico usando o Google Android

Armazenamento de Dados

Notification. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Armazenamento de dados

Microsoft Visual Studio Community 2013

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 09a- Acessando os dados através JDBC

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

Android Banco de Dados. Ivan Nicoli

RecyclerView. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Desenvolvimento de um aplicativo básico usando o Google Android

IMPLEMENTAÇÃO DE BANCO DE DADOS

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo

26/04/2017 Triggers no SQL Server: teoria e prática aplicada em uma situação real

Tutorial: Utilização do sqlite no Android (Parte I)

Trabalhando com MDI e Menus

Java RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

Programação para Dispositivos Móveis. Banco de Dados (SQLite)

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 9- Introdução ao JDBC

INTRODUÇÃO AO MYSQL. Eng. Computação

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

Introdução em Banco de Dados

Índice. 1. Introdução Instalação: Eclipse e Android Primeira aplicação em Android... 11

Banco de Dados. Professora: Luciana Faria

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Desenvolvimento de um aplicativo básico usando o Google Android

Armazenamento de Dados

BANCO DE DADOS GERENCIAL 1 A U L A 2

TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS

Armazenamento em Banco de Dados em Aplicações Android. Prof. Fellipe Aleixo

Android OLÁ MUNDO MÓVEL. Prof. Dr. Joaquim assunção.

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função

BCD29008 Banco de dados

JAVA. Professor: Bruno Toledo

Instalando o Eclipse e o Android

Programação Orientada a Objetos (DPADF 0063)

Verificação da instalação do GeneXus 15. Como verificar se o GeneXus 15 tm está instalado corretamente

Gerando um programa executável a partir de um módulo Python

Tutorial de utilização da aplicação no lado servidor com Firebase

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

Rápida revisão do Modelo Relacional

INTRODUÇÃO AO MYSQL PROF. ME. HÉLIO ESPERIDIÃO

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>

Tarefa Orientada 9 Base de Dados Pagamentos

Desenvolvimento Web II

2 Instalando e configurando o ambiente de desenvolvimento do Microsoft SQL Server

Banco de Dados I Introdução SQL

MC-102 Aula 01. Instituto de Computação Unicamp

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

Linguagem de Programação III

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

Android BANCO DE DADOS - SQLITE. Prof. Joaquim assunção.

Programação para Android. Aula 08: Persistência de dados SQL

Acesso a Banco de Dados usando C# (Usando o MySql ADO.NET Provider)

Manual do InCD Reader

Conexão do Banco de Dados localhost

O JasperReports Studio é uma ferramenta de software que oferece um ambiente visual para criar relatórios para a plataforma Java. É open source.

DATA ACCESS OBJECT (DAO)

IEC Banco de Dados I Aula 11 Técnicas de Programação SQL

do RSelenium Daniel Marcelino 07 de junho de 2015 Daniel Marcelino RSelenium 07 de junho de / 32

Desenvolvimento de um aplicativo na plataforma Android para realização de fichamento bibliográfico em dispositivos móveis: resultados iniciais

Visibilidade e Encapsulamento

Aula 1 Acesso a Banco de Dados

[versão para impressão] Link original: comp=24763 Conhecendo o PL/SQL

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Conexão com Banco de Dados

DISTRIBUINDO SUA APLICAÇÃO

Tutorial do E3 para Iniciantes Capítulo 15 Consultas

Tutorial SQL Server 2014 Express

Introdução ao Desenvolvimento de Aplicativos Android

Tutorial de confguração de um cartão micro SD como área de swap e armazenamento para a DragonBoard 410c (DB410C)

Transcrição:

(Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão

Objetivos Nesta aula iremos apresentar como usar o SQLite um leve e poderoso banco de dados que pode ser integrado às aplicações Android. Vamos entender como utilizá-las. Nosso objetivo principal é aproximar o aluno do desenvolvimento de um aplicativo básico.

Plano de Aula Android e Banco de Dados Introdução; Criando o banco de dados usando o SQLite Expert Personal; Copiando o banco de dados para o Emulador; Abrindo o banco de dados; Criando o banco de dados a partir da API Android Inserção de registros no banco de dados; Atualização de registros no banco de dados; Exclusão de registros do banco de dados; Busca de registros no banco de dados; Manipulando um banco de dados através do Android.

Introdução O Android tem suporte ao SQLite, um leve e poderoso banco de dados; Cada aplicação pode criar um ou mais banco de dados, que ficam localizados na seguinte pasta, relativa ao nome do pacote do projeto: /data/data/nome_pacote/databases O banco de dados pode ser criado de várias formas: Utilizando a API do Android para o SQLite; Usando um cliente do SQLite como o SQLiteStudio, SQLite Expert Personal ou o SQLite Plus; Utilizando o aplicativo SQLite3 pelo console do emulador;

SQLite O SQLite é um mecanismo independente e transacional que não requer nenhum processo separado no servidor; O SQLite remove de forma agressiva recursos que não são absolutamente necessários, diminuindo muito seu peso para o sistema; O SQLite não é um projeto do Google, há na verdade uma equipe internacional de desenvolvedores que trabalham principalmente nas questões de capacidade e confiabilidade do software.

Comandos SQL permitidos no SQLite Comando SQL de definição de dados: CREATE TABLE DROP TABLE ALTER TABLE Tipos de Dados do SQLite TEXT: uma string de texto armazenada utilizando a codificação do banco de dados; REAL: um valor de ponto flutuante, armazenado como um número de ponto flutuante IEEE 8 bytes; BLOB: dados binários indeterminados (arquivos executáveis, imagens, etc; INTEGER: um inteiro sinalizado que vai de 1 a 8 bytes, dependendo da magnitude. Explorando a ferramenta você perceberá que há vários outros tipos de dados e que os comandos SQL padrão podem ser todos utilizados.

Criando o banco de dados usando o SQLite Studio Uma das opções para criação usando uma ferramenta, é o SQLite Studio que possui uma interface gráfica amigável para criarmos um banco de dados de exemplo; Segue o link do site da ferramenta: https://sqlitestudio.pl/index.rvt

Criando o banco de dados usando o SQLite Studio Depois de instalar e abrir a ferramenta, criaremos um banco de dados.

Criando o banco de dados usando o SQLite Studio Depois de instalar e abrir a ferramenta, criaremos um banco de dados.

Criando o banco de dados usando o SQLite Expert Personal Criação da tabela Disciplina: Android e Bancos de Dados

Criando o banco de dados usando o SQLite Studio Inserindo dados na tabela Disciplina: Android e Bancos de Dados

Copiando o banco de dados para o Emulador Agora que o banco de dados foi criado, o próximo passo é enviá-lo para o emulador; Antes precisamos criar um projeto, porque cada banco de dados é salvo no pacote de sua aplicação, de modo que o pacote precisa existir antes de o arquivo ser importado; Após criar o projeto devemos executá-lo; Isso fará com que o projeto seja instalado no emulador e o pacote seja criado na estrutura de diretórios do sistema operacional; Agora já podemos abrir a Janela do File Explorer e navegar até a seguinte pasta: /data/data/nomedoprojeto/databases Se a pasta databases não existir, você poderá cria-la. Envie o banco de dados que foi salvo na máquina para essa pasta do emulador.

Copiando o banco de dados para o Emulador Acessando o Android Device Monitor: Android e Bancos de Dados 1 O emulador tem de estar ativo para podermos utilizar o Android Device Monitor.

Copiando o banco de dados para o Emulador Acessando o Android Device Monitor: Android e Bancos de Dados 3 2

Abrindo o banco de dados Depois e enviar o banco de dados para o emulador, basta utilizar o método openorcreatedatabase (nome, modo, fábrica); String nome: Nome do banco de dados; int modo: Modo de abertura do banco de dados. Pode ter os valores Context.MODE_PRIVATE para usar o banco de dados somente na aplicação ou as constantes Context.MODE_WORLD_READABLE e Context.MODE_WORLD_WRITEABLE para que outras aplicações consigam ler e escrever nesse banco de dados, respectivamente; CursorFactory fabrica: implementação de CursorFactory opcional para instanciar um objeto Cursor quando uma busca (query) é realizada. Em nosso caso passaremos um valor nulo, pois usaremos a implementação padrão do Android. Usaremos um objeto da classe SQLiteDatabase para receber uma referência do banco de dados aberto na aplicação.

Criando o Banco de Dados a partir da API Android Para criar um banco de dados a partir da API do Android usaremos SQLiteOpenHelper; Devemos criar uma classe que herda de SQLiteOpenHelper, e sobrescreve (override) os métodos oncreate e onupgrade; O método oncreate é automaticamente chamado quando a aplicação roda pela primeira vez; sua tarefa é criar a base de dados; Como novas versões da aplicação podem ser lançadas, a base de dados pode ser atualizada também, uma tarefa que dispara o método onupgrade; Quando você entrega uma nova versão da base de dados, você também deve incrementar a versão. Para acessar o banco de dados, instancie a subclasse de SQLiteOpenHelper.

Inserção de registros no banco de dados Inserir registros no banco de dados é bem simples. Basta criar um objeto do tipo ContentValues com as informações necessárias, ele funciona semelhante a uma HashTable, com chave e valor; Depois de criar o objeto ContentValues com todos os valores necessários para inserir o registro, basta chamar o método SQLiteDatabase.insert(tabela, nullcollumnhack, valores); String tabela: Nome da tabela; int nullcolunhack: Nome de uma coluna opcional para não permitir que um registro completamente nulo seja inserido. Não utilizaremos este campo; ContentValues valores: Estrutura de chave e valores, com os valores para inserir.

Atualização de registros no banco de dados Para atualizar um registro deve-se utilizar o método SQLiteDatabase.update(tabela, valores, where, whereargs) e passar uma string para o argumento where do método, onde o valor do id do registro pode ser utilizado para identificar o registro que deve ser atualizado; String tabela: Nome da tabela; ContentValues valores: Estrutura de chave e valores, com os valores para atualização. String where: String com a cláusula where utilizada para identificar o registro. Nesse caso, pode ser uma string com o texto id=1, ou uma string com o texto id=?, tornando necessário usar o último argumento para informar o valor do? ; String whereargs[]: Array com os parâmetros necessários, caso a cláusula where defina algum parâmetro com?. Este uso é similar ao uso do JDBC.

Exclusão de registros do banco de dados Para remover um registro deve-se utilizar o método SQLiteDatabase.delete(tabela, where, whereargs) e passar uma string para o argumento where do método para identificar o registro que deve ser excluído; String tabela: Nome da tabela; String where: String com a cláusula where utilizada para identificar o registro. Nesse caso, pode ser uma string com o texto id=1, ou uma string com o texto id=?, tornando necessário usar o último argumento para informar o valor do? ; String whereargs[]: Array com os parâmetros necessários, caso a cláusula where defina algum parâmetro com?. Este uso é similar ao uso do JDBC.

Busca de registros no banco de dados Para buscar informações no banco de dados deve-se utilizar o método SQLiteDatabase.query (distinct, tabela, colunas, selecao, selecaoargs, groupby, orderby); boolean distinct: Mesmo funcionamento da palavra distinct do SQL. Esse parâmetro é opcional; String tabela: Nome da tabela; String colunas[]: Array com o nome das colunas para seleção; String selecao[]: Contém a cláusula where utilizada para filtrar os registros. Para não usá-lo basta informar nulo. String selecaoargs[]: Argumentos? da cláusula where, caso necessário; String groupby: Nome das colunas para agrupar (group by); String orderby: Nome das colunas para ordenar (order by).

Uma outra alternativa No modelo de programação do JDBC (Java) trabalhamos com vários objetos baseados em classes e interfaces, tais como: Connection, PreparedStatements, Resultset, etc; No Android temos uma alternativa semelhante, principalmente ao uso do PreparedStatements e o seu bind de argumentos; O método execsql(string sql, Object[] bindargs): String sql: String representando o comando SQL a ser executado; Object bindargs[]: lista de valores a ser substituídos pelas interrogações (placeholders); String delsql = "DELETE FROM carros WHERE nome =?"; Object[] bindargs = new Object[]{"Fiat"}; db.execsql(delsql, bindargs);

Uma outra alternativa

Manipulando um banco de dados através do Android

Dúvidas Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva

Próxima Aula Acesso a Banco de Dados. (Parte 2).

Referências Google Android: aprenda a criar aplicações para dispositivos móveis com o Android SDK - Ricardo R. Lacheta, São Paulo: Novatec, 2010.