Android e Bancos de Dados



Documentos relacionados
Android e Bancos de Dados

Android e Bancos de Dados

Android e Bancos de Dados

Interfaces Gráficas parte 3

Desenvolvimento de um aplicativo básico usando o Google Android

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

Programação para Android. Aula 07: Persistência de dados Shared Preferences, Internal e External Storage

ANDROID APPLICATION PROJECT

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2

Desenvolvimento de um aplicativo básico usando o Google Android

Programação para Dispositivos Móveis

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

Como funcionam os comandos de SQL no Logic Basic Por Alan Oliveira

JDBC Java Database Connectivity

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

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

Introdução ao Android SDK. Prof. Me. Hélio Esperidião

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

Android Banco de Dados. Ivan Nicoli

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

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Desenvolvendo Websites com PHP

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

Aula 1 Acesso a Banco de Dados

CODE IGNITER INSTALAÇÃO & BANCO DE DADOS

Ciclo de Vida de um Projeto

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Data Transformation Services (DTS) por Anderson Ferreira Souza

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.

CAPÍTULO 35 Como utilizar os componentes ColdFusion

TUTORIAL PARA ATUALIZAÇÃO DO PORTAL DO TJRN

Como gerar arquivos para Sphinx Operador

O Primeiro Programa em Visual Studio.net

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.

Banco de Dados BrOffice Base

Sistema de Recursos Humanos

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

Programação de Computadores - I. Profª Beatriz Profº Israel

Noções de. Microsoft SQL Server. Microsoft SQL Server

Manual do usuário. Softcall Java. versão 1.0.5

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

Software Adobe DreamWeaver. Requisitos para criar aplicações Web

Banco de Dados Oracle 10g

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

Nota de Aula: Utilização da IDE Code::Blocks

NÚCLEO DE TECNOLOGIA E EDUCAÇÃO CURSO: WINDOWS MOVIE MAKER TUTORIAL

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Procedimentos para Reinstalação do Sisloc

Programação Orientada a Objetos (DPADF 0063)

OSMobile Força de Vendas

Google Drive. Passos. Configurando o Google Drive

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados

Procedimentos de Implantação ireport x Protheus

Manipulação de Banco de Dados com Java 1. Objetivos

Manual de Instalação

CONFIGURAÇÃO MINIMA EXIGIDA:

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Conhecendo o Visual FoxPro 8.0 Parte 2

Unidade 7: Middleware JDBC e Java DB Prof. Daniel Caetano (Fonte: Tutorial Oficial do NetBeans)

Scriptlets e Formulários

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

Manual do Visualizador NF e KEY BEST

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.

Principais Comandos SQL Usados no MySql

02 - Usando o SiteMaster - Informações importantes

Manual de Utilização Utilização do PDFSam

Manual Captura S_Line

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

Configurar o Furbot no Eclipse

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Como Gerar documento em PDF com várias Imagens

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização

Manual de Instalação e Configuração do SQL Express

Inserindo Dados no Banco de Dados Paradox.

Como acessar o novo webmail da Educação? Manual do Usuário. 15/9/2009 Gerencia de Suporte, Redes e Novas Tecnologias Claudia M.S.

Manual de usuário - GLPI Página 1

Disciplina: Unidade V: Prof.: Período:

Tutorial SGCD. 1. Efetuando Login no Sistema. 2. Criando uma nova página. 3. Editando uma página já existente

MANIPULANDO BANCO DE DADOS NO POSTGRESQL SEM FAZER USO DE COMANDOS SQL

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO. Motor Periférico Versão 8.0

1.2) Na tela seguinte, o primeiro item a ser selecionado é o Unidade Acumuladora1.

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

Figura 1. A Classe Java

Lição 1 - Criação de campos calculados em consultas

MANUAL DO ANIMAIL Terti Software

GUIA INTEGRA SERVICES E STATUS MONITOR

Caneta Espiã NOVY. Página Introdução:

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

15/8/2007 Gerencia de Tecnologia da Informação Claudia M.S. Tomaz

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

AULA 1 Iniciando o uso do TerraView

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

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; 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 SQLite Expert Personal ou o SQLite Plus; Utilizando o aplicativo SQLite3 pelo console do emulador;

Criando o banco de dados usando o SQLite Expert Personal Usaremos a ferramenta SQLite Expert Personal que possui uma interface gráfica amigável para criarmos um banco de dados de exemplo; O instalador da ferramenta se encontra no site da disciplina; 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.

Criando o banco de dados usando o SQLite Expert Personal Depois de instalar e abrir a ferramenta, criaremos um banco de dados. Para isso, entre no menu File>New Database e preencha o que se pede: Database File: arquivo salvo em disco que corresponde ao banco de dados criado; Database Alias: apelido para identificar o banco de dados. Será o nome utilizado no código-fonte para referenciar o banco.

Criando o banco de dados usando o SQLite Expert Personal Comando SQL de definição de dados: CREATE TABLE DROP TABLE ALTER TABLE Tipo 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 Expert Personal Criação da tabela Carro: Android e Bancos de Dados Após o refresh temos a tabela criada Comando SQL para criação da tabela Carro Botão para execução do comando SQL

Criando o banco de dados usando o SQLite Expert Personal Inserindo dados na tabela Carro: Android e Bancos de Dados

Criando o banco de dados usando o SQLite Expert Personal Inserindo dados na tabela Carro: 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 no Eclipse, 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 (Run as>android Application); 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 File Explorer: 1 2 3

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.

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 groupby: 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 Desenvolvimento de um aplicativo básico usando o Google Android: Banco de Dados

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.