SlideShare uma empresa Scribd logo
PERSISTÊNCIA
Arthur Emanuel de Oliveira Carosia
Persistência com SQLite
2
 SQLite
 Disponível na plataforma Android
 Ao contrário da maioria dos bancos de dados SQL,
não necessita de um processo servidor.
 armazena as tabelas, views, índices e triggers em
apenas um arquivo em disco
 é acessível por qualquer classe da aplicação que o
criou, mas não pode ser acessado por outra
aplicação.
Criação do Banco de Dados
3
 Herdar a classe SQLiteOpenHelper
Persistência com SQLite
4
 Tanto a criação do banco quanto a sua atualização só
acontecem de fato quando obtemos uma instância de
SQLiteDatabase e não quando instanciamos o
DatabaseHelper.
Persistência com SQLite
5
 Tanto a criação do banco quanto a sua atualização só
acontecem de fato quando obtemos uma instância de
SQLiteDatabase e não quando instanciamos o
DatabaseHelper.
Persistência com SQLite
6
 Inserção
 Preparando o Content Values
Persistência com SQLite
7
 Inserção
 Chamada do método insert
Persistência com SQLite
8
 Ao encerrar a Activity, fechar a conexão com o
Banco.
Persistência com SQLite
9
 Buscando
 Montar a consulta
Persistência com SQLite
10
 Buscando
 Métodos de manipulação do cursor
Persistência com SQLite
11
 Buscando
 Métodos de manipulação do cursor
Buscando...
12
//.... Montando o hashmap
Remover
13
Boas Práticas
14
 Utilizar DAO
 padrão para implementar a separação da lógica
de negócio das regras de acesso a banco de
dados.
Exercício
15
 Incrementar na aplicação trabalhada nas
últimas aulas duas activities com banco de
dados implementado:
 Login.
 Nesta activity, o usuário e senha digitados devem ser
comparados aos já existentes no banco de dados. Se
existir um usuário e senha conforme digitado, a
aplicação pode seguir seu fluxo.
 Cadastro
 Nesta activity, o usuário pode se cadastrar digitando
seu nome de usuário, nome completo, email e senha.
ListView
16
ListView
17
 Como a necessidade de criar esses tipos de listagens é
bastante frequente, usaremos:
 ListActivity.
 Esta classe já possui um widget ListView associado
bastando que a ele seja atribuído um ListAdapter para
prover os itens que serão exibidos na lista.
 Semelhante ao Spinner.
ListView
18
 Classe que além de herdar de ListActivity, também
implemente OnItemClickListener com o objetivo de
tratar o evento disparado quando um item da lista é
selecionado.
ListView
19
 onCreate:
 criar um novo ArrayAdapter passando o layout
desejado e os itens.
 Recuperamos a ListView associada
 getListView
 A essa ListView, atribuímos um listener que é a
própria atividade
 Layout linha da ListView.
 android.R.layout.simple_list_item_1
ListView
20
ListView
21
Selecionar dados do
banco.
ListView
22
 Quando um elemento da lista for selecionada,
gostaríamos de executar alguma ação. Neste caso,
iremos para uma próxima Activity.
 Implementamos isto no método onItemClick, que é o
método de OnItemClickListener invocado pela ListView
quando um item é escolhido.
Exercício
23
 Utilizar uma ListView para listar todos clientes
cadastrados na aplicação.
Referências
24
 Google Android. Crie Aplicações para
Celulares e Tablets. Monteiro, J. Bosco. Casa
do Código.
 Desenvolvimento Mobile com Android. K19
Treinamentos.
 Android Developers. Disponível em:
http://developer.android.com/.

Mais conteúdo relacionado

Destaque (20)

PPTX
Android - Frameworks de Persistência
Édipo Souza
 
DOCX
Planejamento - DDMI - IFSP
Arthur Emanuel
 
DOCX
Projeto Android
Arthur Emanuel
 
PPTX
Aula 03 - Interface gráfica - Parte 1
Arthur Emanuel
 
PPTX
Android - Acelerometro e GPS
Arthur Emanuel
 
PPTX
HTML - Introducao
Arthur Emanuel
 
PPTX
Android - Consumindo Webservices
Arthur Emanuel
 
PPTX
CSS 3
Arthur Emanuel
 
PPTX
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
Arthur Emanuel
 
PPTX
Aula - 04 - Android - Interface grafica (layout, widgets)
Arthur Emanuel
 
PPTX
Android - Google Maps
Arthur Emanuel
 
PPTX
Android - Bluetooth
Arthur Emanuel
 
PDF
Persistencia de dados em aplicações Android
Antonio Marin Neto
 
PPT
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
Adriel Café
 
PDF
Desenvolvimento móvel com Google Android
Caelum
 
PDF
Mecanismos de Persistencia en Android
Javier Muñoz
 
PDF
Google Android - WTJatai
Caelum
 
PDF
Gestão de Projetos com MS-Project 2010
Fabio Spanhol
 
PPTX
Um exemplo do uso do SQLite: uma base de dados para alumni
Luis Borges Gouveia
 
Android - Frameworks de Persistência
Édipo Souza
 
Planejamento - DDMI - IFSP
Arthur Emanuel
 
Projeto Android
Arthur Emanuel
 
Aula 03 - Interface gráfica - Parte 1
Arthur Emanuel
 
Android - Acelerometro e GPS
Arthur Emanuel
 
HTML - Introducao
Arthur Emanuel
 
Android - Consumindo Webservices
Arthur Emanuel
 
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
Arthur Emanuel
 
Aula - 04 - Android - Interface grafica (layout, widgets)
Arthur Emanuel
 
Android - Google Maps
Arthur Emanuel
 
Android - Bluetooth
Arthur Emanuel
 
Persistencia de dados em aplicações Android
Antonio Marin Neto
 
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
Adriel Café
 
Desenvolvimento móvel com Google Android
Caelum
 
Mecanismos de Persistencia en Android
Javier Muñoz
 
Google Android - WTJatai
Caelum
 
Gestão de Projetos com MS-Project 2010
Fabio Spanhol
 
Um exemplo do uso do SQLite: uma base de dados para alumni
Luis Borges Gouveia
 

Semelhante a Aula05 - Android - Persistência (20)

PDF
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Erisvaldo Junior
 
PDF
Desenvolvimento de Apps e Games para Android - Parte 6
Erisvaldo Junior
 
PDF
Desenvolvimento de Apps e Games para Android - Parte 7
Erisvaldo Junior
 
PDF
Curso Básico Android - Aula 04
Lucas Boeing Scarduelli
 
PDF
programacao-c-banco-de-dados
Raul Dias
 
PPTX
Aula05 android persistencia
Roberson Alves
 
ODP
Orm android
Lucas Aquiles
 
PDF
SelectionTracker Para Seleção de Itens no RecyclerView Android
Vinícius Thiengo
 
PDF
Desenvolvendo uma Aplicação WEB usando o Python e o CherryPy
antonio sérgio nogueira
 
PDF
Servidor de Aplicação Web: CherryPy - Python
antonio sérgio nogueira
 
PDF
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...
Edisio Nascimento
 
PPT
Course Hibernate 2008
Milfont Consulting
 
PDF
Acessando o MySql com o Python
antonio sérgio nogueira
 
PDF
Livropythonmysql 091022073751-phpapp01
julianabdpaiva
 
PPT
Introdução à programação para Android
Jorge Cardoso
 
PDF
Desenvolvimento de Apps e Games para Android - Parte 5
Erisvaldo Junior
 
PDF
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Tchelinux
 
PDF
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
tdc-globalcode
 
PDF
Desenvolvimento de plugins WordPress
Leandrinho Vieira
 
PDF
Apostila: Curso de java III
Verônica Veiga
 
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 6
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 7
Erisvaldo Junior
 
Curso Básico Android - Aula 04
Lucas Boeing Scarduelli
 
programacao-c-banco-de-dados
Raul Dias
 
Aula05 android persistencia
Roberson Alves
 
Orm android
Lucas Aquiles
 
SelectionTracker Para Seleção de Itens no RecyclerView Android
Vinícius Thiengo
 
Desenvolvendo uma Aplicação WEB usando o Python e o CherryPy
antonio sérgio nogueira
 
Servidor de Aplicação Web: CherryPy - Python
antonio sérgio nogueira
 
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...
Edisio Nascimento
 
Course Hibernate 2008
Milfont Consulting
 
Acessando o MySql com o Python
antonio sérgio nogueira
 
Livropythonmysql 091022073751-phpapp01
julianabdpaiva
 
Introdução à programação para Android
Jorge Cardoso
 
Desenvolvimento de Apps e Games para Android - Parte 5
Erisvaldo Junior
 
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Tchelinux
 
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
tdc-globalcode
 
Desenvolvimento de plugins WordPress
Leandrinho Vieira
 
Apostila: Curso de java III
Verônica Veiga
 
Anúncio

Mais de Arthur Emanuel (19)

PPTX
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Arthur Emanuel
 
DOCX
Exercícios - Herança - Java
Arthur Emanuel
 
DOCX
Orientação a Objetos - Introdução - Exercícios
Arthur Emanuel
 
PPTX
Android - Integração com Facebook
Arthur Emanuel
 
PPTX
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Arthur Emanuel
 
PPTX
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Arthur Emanuel
 
PPTX
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Arthur Emanuel
 
PPTX
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Arthur Emanuel
 
PPTX
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Arthur Emanuel
 
PPTX
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Arthur Emanuel
 
PPTX
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Arthur Emanuel
 
DOCX
Desenvolvendo Jogos Para Android - Exercício
Arthur Emanuel
 
PPTX
Java: Encapsulamento e modificadores de acesso
Arthur Emanuel
 
PPTX
Java: Classes Abstratas, Anônimas, Interface
Arthur Emanuel
 
PPTX
Java: Introducao ao Swing
Arthur Emanuel
 
PPTX
Java: Heranca e polimorfismo
Arthur Emanuel
 
PPTX
Java: Introdução à Orientação a Objetos
Arthur Emanuel
 
PPTX
Java: Estruturas de Repetição
Arthur Emanuel
 
PPTX
Java: Condicionais
Arthur Emanuel
 
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Arthur Emanuel
 
Exercícios - Herança - Java
Arthur Emanuel
 
Orientação a Objetos - Introdução - Exercícios
Arthur Emanuel
 
Android - Integração com Facebook
Arthur Emanuel
 
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Arthur Emanuel
 
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Arthur Emanuel
 
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Arthur Emanuel
 
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Arthur Emanuel
 
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Arthur Emanuel
 
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Arthur Emanuel
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Arthur Emanuel
 
Desenvolvendo Jogos Para Android - Exercício
Arthur Emanuel
 
Java: Encapsulamento e modificadores de acesso
Arthur Emanuel
 
Java: Classes Abstratas, Anônimas, Interface
Arthur Emanuel
 
Java: Introducao ao Swing
Arthur Emanuel
 
Java: Heranca e polimorfismo
Arthur Emanuel
 
Java: Introdução à Orientação a Objetos
Arthur Emanuel
 
Java: Estruturas de Repetição
Arthur Emanuel
 
Java: Condicionais
Arthur Emanuel
 
Anúncio

Último (8)

PDF
Apresentação de Manipulação de strings em Python .pdf
Gabriel Vitor
 
PPTX
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
PPTX
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
PDF
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
PPTX
Gestão de Mudanças - O que é e como é implementada
Gateware Group
 
PDF
Apresentação sobre Funções Matemáticas e o módulo.pdf
Gabriel Vitor
 
PPTX
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
PDF
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
Apresentação de Manipulação de strings em Python .pdf
Gabriel Vitor
 
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
Gestão de Mudanças - O que é e como é implementada
Gateware Group
 
Apresentação sobre Funções Matemáticas e o módulo.pdf
Gabriel Vitor
 
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 

Aula05 - Android - Persistência

  • 2. Persistência com SQLite 2  SQLite  Disponível na plataforma Android  Ao contrário da maioria dos bancos de dados SQL, não necessita de um processo servidor.  armazena as tabelas, views, índices e triggers em apenas um arquivo em disco  é acessível por qualquer classe da aplicação que o criou, mas não pode ser acessado por outra aplicação.
  • 3. Criação do Banco de Dados 3  Herdar a classe SQLiteOpenHelper
  • 4. Persistência com SQLite 4  Tanto a criação do banco quanto a sua atualização só acontecem de fato quando obtemos uma instância de SQLiteDatabase e não quando instanciamos o DatabaseHelper.
  • 5. Persistência com SQLite 5  Tanto a criação do banco quanto a sua atualização só acontecem de fato quando obtemos uma instância de SQLiteDatabase e não quando instanciamos o DatabaseHelper.
  • 6. Persistência com SQLite 6  Inserção  Preparando o Content Values
  • 7. Persistência com SQLite 7  Inserção  Chamada do método insert
  • 8. Persistência com SQLite 8  Ao encerrar a Activity, fechar a conexão com o Banco.
  • 9. Persistência com SQLite 9  Buscando  Montar a consulta
  • 10. Persistência com SQLite 10  Buscando  Métodos de manipulação do cursor
  • 11. Persistência com SQLite 11  Buscando  Métodos de manipulação do cursor
  • 14. Boas Práticas 14  Utilizar DAO  padrão para implementar a separação da lógica de negócio das regras de acesso a banco de dados.
  • 15. Exercício 15  Incrementar na aplicação trabalhada nas últimas aulas duas activities com banco de dados implementado:  Login.  Nesta activity, o usuário e senha digitados devem ser comparados aos já existentes no banco de dados. Se existir um usuário e senha conforme digitado, a aplicação pode seguir seu fluxo.  Cadastro  Nesta activity, o usuário pode se cadastrar digitando seu nome de usuário, nome completo, email e senha.
  • 17. ListView 17  Como a necessidade de criar esses tipos de listagens é bastante frequente, usaremos:  ListActivity.  Esta classe já possui um widget ListView associado bastando que a ele seja atribuído um ListAdapter para prover os itens que serão exibidos na lista.  Semelhante ao Spinner.
  • 18. ListView 18  Classe que além de herdar de ListActivity, também implemente OnItemClickListener com o objetivo de tratar o evento disparado quando um item da lista é selecionado.
  • 19. ListView 19  onCreate:  criar um novo ArrayAdapter passando o layout desejado e os itens.  Recuperamos a ListView associada  getListView  A essa ListView, atribuímos um listener que é a própria atividade  Layout linha da ListView.  android.R.layout.simple_list_item_1
  • 22. ListView 22  Quando um elemento da lista for selecionada, gostaríamos de executar alguma ação. Neste caso, iremos para uma próxima Activity.  Implementamos isto no método onItemClick, que é o método de OnItemClickListener invocado pela ListView quando um item é escolhido.
  • 23. Exercício 23  Utilizar uma ListView para listar todos clientes cadastrados na aplicação.
  • 24. Referências 24  Google Android. Crie Aplicações para Celulares e Tablets. Monteiro, J. Bosco. Casa do Código.  Desenvolvimento Mobile com Android. K19 Treinamentos.  Android Developers. Disponível em: http://developer.android.com/.