Tutorial de Manipulação de dados com SQLite

Documentos relacionados
Android e Bancos de Dados

Armazenamento de dados

Android e Bancos de Dados

Programação para Dispositivos Móveis

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

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

Armazenamento de Dados

Visibilidade e Encapsulamento

Android e Bancos de Dados

Classes e Objetos. Sintaxe de classe em Java

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

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

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

Comparativo entre gerenciadores de banco de dados para aplicação Android

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

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

Manipulação de Dados com SQL

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

BD II (SI 587) Programação SQL. Prof. Josenildo Silva.

TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS

Benvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios!

1. SQLite No Android 2. API de Acesso Listagem 1 SQLiteDatabase SQLiteOpenHelper Listagem 1 Android Studio SQLiteOpenHelper Android Studio

Android Banco de Dados. Ivan Nicoli

Capítulo 04: Persistência com SQLite

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo

Aula 06 Sistemas Embarcados LT38C

IMPLEMENTAÇÃO DE BANCO DE DADOS

Linguagem SQL Restrições, Triggers e Views

Não nos responsabilizamos por desatualizações das hiperligações presentes nesta obra, que foram verificadas à data de publicação da mesma.

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

Armazenamento de Dados

Modelo Entidade-Relacionamento (E-R)

Android e Bancos de Dados

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

BCD29008 Banco de dados

MySql. Introdução a MySQL. Andréa Garcia Trindade

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

Expectativa de respostas

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

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

SQL Básica. Andre Noel

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo

Aprender a utilizar o aplicativo Gnuplot para fazer gráficos

Mapeando Relacionamentos Entre Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima

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

Manual do Usuário Brother Meter Read Tool

Curso Profissional de Técnico de Informática - Sistemas

S Q L Asserções, Visões e Técnicas de Programação. Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore

Atualização do firmware para controladores remotos sem fio WR-R10

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

Computação II Orientação a Objetos

Atualização do firmware para controladores remotos sem fio WR-R10. Windows

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

MANUAL DO USUÁRIO GERÊNCIA DE APLICATIVOS

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA

Revisão de Bancos de Dados

TRIGGERS Temas abordados

Oracle Database: Fundamentos de SQL e PL/SQL

Bem-vindo ao tópico sobre a ferramenta Importar do Excel.

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

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

Manual de Instalação Flex

ROTEIRO METADADOS ATUALIZAÇÃO DO SIRH METADADOS

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

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Arquitetura Genérica do SGBDD

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

Especificação dos Requisitos do Software UFPI Maps 1.0. Autores:4A Team Alceu Medeiros Antonio Lima AntonioHelves Fernando Assunção

Atualizar o firmware da câmera SLR digital

Windows. Atualizar o firmware da câmera SLR digital. Preparação

Linguagem de Programação II Implementação

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

WEB VIEWER - Versão 3.3.1

Curso de Banco de Dados. Prof. Rone Ilídio

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Transcrição:

Universidade Federal do Piauí UFPI Centro de Ciências da Natureza CCN Curso: Ciência da Computação Disciplina: Engenharia de Software II Projeto: B Equipe: New Easii Team Tutorial de Manipulação de dados com SQLite Alexandre Cristian Lages de Araújo Artur Lima de Miranda Gustavo Lustosa Oliveira Silva Irvayne Matheus de Sousa Ibiapina José Patrício de Sousa Filho Otávio Cury Costa Castro Teresina-PI, Maio de 2016

Tutorial de Manipulação de dados SQLite 1. Introdução: SQLite é um banco de dados Open Source. Ele suporta recursos de banco de dados relacionais padrão, como sintaxe SQL, transações, etc. SQLite suporta os tipos de dados TEXT (semelhante a STRINGS em Java), INTEGER (semelhante ao LONG em Java) e REAL (semelhante ao DOUBLE em Java). Todos os outros tipos devem ser convertidos em um desses campos antes de ser salvo no banco de dados. O próprio SQLite não valida se os tipos de escrita para as colunas são realmente do tipo definido. Ou seja, você pode escrever um número inteiro em uma coluna de string e vice-versa. 2. SQLite no Android: O SQLite já vem incorporado em todo dispositivo Android. Com o SQL, o Android não requer um procedimento de configuração ou administração de banco de dados. Você só tem que definir as instruções em SQL para criar e atualizar o banco de dados. Depois disso, o banco de dados é gerenciado automaticamente para você pela plataforma Android. O acesso a um banco de dados SQLite envolve o acesso ao sistema de arquivos. Isto pode ser lento. Portanto, recomenda-se realizar operações de banco de dados de forma assíncrona. Se seu aplicativo cria um banco de dados, esta base de dados é, por padrão, salva no diretório "DATA/data/APP_NAME/databases/FILENAME". As partes do diretório acima são construídas com base nas seguintes regras. DATA é o caminho que o método Environment.getDataDirectory() retorna. APP_NAME é o nome do aplicativo. FILENAME é o nome especificado no código do aplicativo para o banco de dados. 3. Packages SQLite: O pacote android.database contém todas as classes necessárias para trabalhar com bancos de dados. O pacote android.database.sqlite contém as classes específicas para o SQLite.

4. SQLiteOpenHelper: Para criar e atualizar um banco de dados na sua aplicação Android você deve criar uma subclasse da classe SQLiteOpenHelper(como no exemplo MySQLiteHelper.java). No construtor de sua subclasse você deve chamar o método super() do SQLiteOpenHelper, especificando o nome do banco de dados e a versão do banco de dados atual. O versionamento do banco de dados é importante para suportar atualizações de sua aplicação caso haja alterações nas tabelas. Para isso deve ser implementado o método onupgrade() que será executado caso a constante com a versão esteja diferente do banco salvo no dispositivo. Além disso é necessário implementar o método oncreate(), que será executado caso não haja nenhum banco salvo no dispositivo: oncreate() - é chamado pela estrutura, se o banco de dados é acessado, mas ainda não criado. onupgrade() - chamado, se a versão do banco de dados é aumentada no código do aplicativo. Este método permite que você atualizar um esquema de banco de dados existente ou para apagar o banco de dados existente e recriá-lo através do método oncreate(). Ambos os métodos (exemplificados na classe MySQLiteHelper.java) recebem um objeto SQLiteDatabase como parâmetro que é a representação Java da base de dados. A classe SQLiteOpenHelper fornece o getreadabledatabase() e getwriteabledatabase(), métodos para obter acesso a um objeto SQLiteDatabase, seja em modo de leitura ou modo de escrita. As tabelas do banco de dados devem usar o identificador '_id' para a chave primária da tabela. Várias funções do Android já trabalham com essa norma. É recomendável que se crie uma classe separada por tabela. Esta classe define métodos estáticos oncreate() e onupgrade(). Desta forma, sua implementação do SQLiteOpenHelper permanece legível, mesmo se você tiver várias tabelas. 5. Classe SQLiteDatabase: SQLiteDatabase é a classe base para trabalhar com um banco SQLite no Android e fornece métodos para abrir, consultar, atualizar e fechar o banco de dados (exemplificados em CommentsDataSource.java). Mais especificamente SQLiteDatabase fornece os métodos insert(), update() e delete(). Além disso, fornece o método execsql(), que permite a execução direta de uma instrução SQL.

O objeto ContentValues permite definir "chave/valor". A chave representa o identificador de coluna da tabela e o valor representa o conteúdo para o registro da tabela nesta coluna. ContentValues pode ser usado para inserções e atualizações de entradas de dados. As consultas podem ser criados através dos métodos rawquery() e query() ou através da classe SQLiteQueryBuilder. rawquery() aceita diretamente uma instrução SQL select como entrada. query() fornece uma interface estruturada para especificar a consulta SQL. SQLiteQueryBuilder é uma classe que ajuda a construir consultas SQL. A documentação dessas funções é detalhada nesse link: https://developer.android.com/reference/android/database/sqlite/sqlitedatabase.html 6. Cursor: A consulta retorna um objeto Cursor. Um Cursor representa o resultado de uma consulta e, basicamente, aponta para uma linha do resultado da consulta. Desta forma o Android guarda os resultados da consulta de forma eficiente ao invés de carregar todos os dados na memória. Para obter o número de elementos resultantes da consulta utilize o método getcount(). Para se deslocar entre cada uma das linhas (ou raw) de dados individuais, você pode usar os métodos movetofirst() e MoveToNext(). O método isafterlast () permite verificar se o final da 'query' resultante foi atingda. Cursor fornece métodos getxxxx(), por exemplo, getlong(columnindex), getstring(columnindex) para acessar os dados da coluna para a posição atual do resultado. O "columnindex" é o número da coluna que você está acessando (contando a partir do 0). Cursor também fornece o método getcolumnindexorthrow(string), que permite obter o índice da coluna a partir do nome da coluna. Um cursor precisa ser fechado com a chamada de método close(). Para facilitar a exibição (numa ListView por exemplo) dos dados resultantes da consulta, você pode usar o SimpleCursorAdapter que mapeia as colunas para as Views baseada no Cursor passado como parâmetro. Exemplo do uso do Cursor pode ser visto em CommentsDataSource.java, e a documentação dessa classe pode ser visualizada nesse link: https://developer.android.com/reference/android/widget/simplecursoradapter.html

MySQLiteHelper.java Comment.java

Métodos a ser inseridos na Activity