Android e Bancos de Dados

Documentos relacionados
Android e Bancos de Dados

Android e Bancos de Dados

Android e Bancos de Dados

Notification. 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

Desenvolvimento de um aplicativo básico usando o Google Android

Programação para Dispositivos Móveis

Tutorial de Manipulação de dados com SQLite

Microsoft Visual Studio Community 2013

Desenvolvimento de um aplicativo básico usando o Google Android

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

Armazenamento de dados

Armazenamento de Dados

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

IMPLEMENTAÇÃO DE BANCO DE DADOS

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

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

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

Android Banco de Dados. Ivan Nicoli

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

Banco de Dados. Professora: Luciana Faria

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

Estruturas de Condição, Iteração, Arrays e Enumareção

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

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

Leonardo Gresta Paulino Murta

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

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

Banco de Dados I Introdução SQL

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

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

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

Linguagem de Programação III

Desenvolvimento de um aplicativo básico usando o Google Android

Aula 17 Introdução ao jquery

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

Trabalhando com MDI e Menus

BCD29008 Banco de dados

Web Services REST e JSON

Introdução ao Desenvolvimento para Dispositivos Móveis

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

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

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

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

Introdução à Banco de Dados em Delphi:

Desenvolvimento Web II

Aula 1 Acesso a Banco de Dados

Oracle Database 10g: Fundamentos de SQL e PL/SQL

Introdução em Banco de Dados

Manipulação de Dados em PHP (Integração PHP e MySql) Parte 1

BANCO DE DADOS GERENCIAL 1 A U L A 2

Prof: Ricardo Quintão Site:

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão

Disciplina: Banco de Dados Tema: SQL Parte 2

Lidando com Armazenamento de Dados

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

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

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

Armazenamento de Dados

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi

Linguagem SQL Restrições, Triggers e Views

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

Rápida revisão do Modelo Relacional

Computação II Orientação a Objetos

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

Objetos e Componentes Distribuídos: EJB

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva

Introdução a Computação em Nuvem

BANCO DE DADOS WEB AULA 12. manipulação de dados atualização e exclusão de registros. professor Luciano Roberto Rocha.

Interfaces Gráficas parte 3

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

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

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

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

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

JDBC JDBC. JDBC - Arquitetura. JDBC Arquitetura Pacote Java.sql. Java Database Connectivity JDBC PostgreSQL

Stored Procedures e Triggers

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Projeto GoHome Tutorial Sobre o serviço do Google Maps no Android

Programação Orientada a Objetos (DPADF 0063)

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única

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 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 a partir da API Android Uma das opções para criação do banco de dados usando uma ferramenta, é o SQLite Studio que possui uma interface gráfica amigável; A criação do banco em uma ferramenta, obriga o desenvolvedor a copiar o arquivo gerado ( algo.db ) para dentro do aparelho. Em algumas versões do Android esta cópia passou a ser proibitiva; Segue o link do site da ferramenta: https://sqlitestudio.pl/index.rvt

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.

Criando o Banco de Dados a partir da API Android

Criando o Banco de Dados a partir da API Android

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.