SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
Curso básico
lucas boeing scarduelli / @lucasscarduelli
aula 04
agenda
13/05/2017
Introdução ao Android
Ambiente de Desenvolvimento
Arquitetura
Estrutura da Aplicação
20/05/2017
Activities, Intents e Intent Filters
Leiautes e Componentes (ViewGroups e Views)
03/06/2017
Iterações Com o Usuário (Eventos)
Permissões de Aplicativo
10/06/2017
Armazenamento de Dados
Chamadas Remotas
24/06/2017
Mapas
Sensores
Publicação no Google Play
é hora de conectar com o ……….
O SQLite é um banco de dados relacional open-source e fornece suporte para
comandos SQL.
Cada aplicação Android pode criar quantos bancos de dados desejar e eles irão ficar armazenados no
sistema, mas vale lembrar que o banco de dados criado pela aplicação não pode ser acessado nem
visualizado por outra aplicação, apenas pela que o criou.
Para fazer o acesso ao banco de dados SQLite dentro da plataforma Android iremos utilizar uma API de
acesso, a qual já vem no pacote SDK.
Não permite conexão remota diretamente com banco de dados!
SQLite - banco de dados interno
uma classe auxiliar para gerenciar a criação de banco de dados e
gerenciamento de versão.
Para usar SQLiteOpenHelper, crie uma subclasse estendida e implementar o
construtor e os métodos onCreate(), onUpgrade().
classe SQLiteOpenHelper
https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html
onCreate(): é chamado quando a aplicação cria o banco de dados pela primeira
vez. Nesse método devem ter todas as diretrizes de criação e população inicial
do banco.
onUpgrade(): é o método responsável por atualizar o banco de dados com
alguma informação estrutural que tenha sido alterada.
classe SQLiteOpenHelper
classe SQLiteOpenHelper
mão na massa…
classe SQLiteOpenHelper
criando o banco de dados…
classe SQLiteOpenHelper
fazendo upgrade de versão do banco de dados…
vamos organizar as coisas!
models e controllers
models - modelo de dados
representando a estrutura da tabela do banco de dados…
controllers - manipulação do banco de dados
classe com métodos de crud que fazem a manipulação do banco de dados…
criando o crud
create, retrieve, update e delete
fluxo do crud
Leiaute
activity
controller
sqlite
usuário
create
inserindo dados… #nocontroller
create
inserindo dados… #naactivity
create
validação de dados… #naactivity
retrieve
consultando dados… #nocontroller
retrieve
onde vamos mostrar esses dados?
precisamos de uma tela de consulta de produtos…
retrieve
o que precisamos construir?
retrieve
o que precisamos construir?
uma nova activity para consulta
um botão para acessar essa activity
adicionar uma listview no leiaute
criar um leiaute para a lista de produtos
retrieve
consultando dados… #naactivity
update
alteração de dados… #nocontroller
update
alteração de dados… #nocontroller
update
alteração de dados… #naactivity #consultadeproduto
update
alteração de dados… #naactivity #cadastrodeproduto
update
alteração de dados… #naactivity #cadastrodeproduto
delete
excluir dados… #nocontroller
delete
excluir dados… #naactivity
chamadas remotas
conectando uma api rest
habilitando o acesso a internet
no androidmanifest.xml …
por não ser considerada uma permissão perigosa, não há necessidade de
requisitá-la em tempo de execução!
execução em segundo plano
operações de rede não são permitidas na linha de execução principal da app…
criando uma conexão http
Tanto HttpUrlConnection quanto HttpsURLConnection permitem que você execute operações
como adicionar cabeçalhos de requisição e ler as respostas.
adicionando cabeçalho na requisição
Para adicionar um cabeçalho em sua requisição, você deve usar o método setRequestProperty() da
classe HttpURLConnection.
lendo respostas
A maioria das APIs REST atuais retornam dados formatados como um documento JSON válido.
interpretando json
A maneira de extrair uma parte específica das informações do documento JSON depende de sua estrutura.
atualizando leiaute
como executamos em segundo plano não temos acesso ao leiaute!!!!
Mas conseguimos contornar…
usando outros métodos http
Interfaces REST baseadas em HTTP usam métodos HTTP para determinar o tipo da operação que deve ser
executada em um recurso.
bibliotecas de terceiro
achou complicado? existem bibliotecas de terceiro que podemos utilizar …
android volley
https://github.com/google/volley
https://developer.android.com/training/volley/index.html

Mais conteúdo relacionado

Mais procurados

PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android Fundação Vanzolini
 
Componentes customizados: Android te dá asas!
Componentes customizados: Android te dá asas!Componentes customizados: Android te dá asas!
Componentes customizados: Android te dá asas!Guilherme de Cleva Farto
 
Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)Natanael Fonseca
 
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...Elmano Cavalcanti
 
Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Erisvaldo Junior
 
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Matheus Calegaro
 
Introdução ao android e plataforma android
Introdução ao android e plataforma androidIntrodução ao android e plataforma android
Introdução ao android e plataforma androidJuarez Junior
 
Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Horacio Diamante Mondlane
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidRodolfo Faquin Della Justina
 
Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de AndroidEdgar Eler
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4Jose Berardo
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidRafael Sakurai
 
Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Matheus Calegaro
 
Desenvolvimento móvel com Google Android
Desenvolvimento móvel com Google AndroidDesenvolvimento móvel com Google Android
Desenvolvimento móvel com Google AndroidCaelum
 

Mais procurados (20)

Google android pdf
Google android pdfGoogle android pdf
Google android pdf
 
PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android
 
Componentes customizados: Android te dá asas!
Componentes customizados: Android te dá asas!Componentes customizados: Android te dá asas!
Componentes customizados: Android te dá asas!
 
Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)
 
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
 
Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3
 
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2
 
Introdução ao android e plataforma android
Introdução ao android e plataforma androidIntrodução ao android e plataforma android
Introdução ao android e plataforma android
 
Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03
 
Android
AndroidAndroid
Android
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento Android
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de Android
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2
 
Desenvolvimento móvel com Google Android
Desenvolvimento móvel com Google AndroidDesenvolvimento móvel com Google Android
Desenvolvimento móvel com Google Android
 
Android Developing
Android DevelopingAndroid Developing
Android Developing
 
Android
AndroidAndroid
Android
 

Semelhante a Curso Básico Android - Aula 04

mbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdf
mbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdfmbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdf
mbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdfWilliam Almeida
 
Android things, machine learning e maquinas de doces
Android things, machine learning e maquinas de doces Android things, machine learning e maquinas de doces
Android things, machine learning e maquinas de doces Alvaro Viebrantz
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2lfernandomcj
 
Aula05 - Android - Persistência
Aula05 - Android - PersistênciaAula05 - Android - Persistência
Aula05 - Android - PersistênciaArthur Emanuel
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basicoAmadeo Santos
 
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEMMinicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEMAlisson Solitto
 
Palestra de Silverlight no DevBrasil Summit 11
Palestra de Silverlight no DevBrasil Summit 11Palestra de Silverlight no DevBrasil Summit 11
Palestra de Silverlight no DevBrasil Summit 11Anderson Sa
 
Workshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring BootWorkshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring BootLucas Boeing Scarduelli
 
programacao-c-banco-de-dados
programacao-c-banco-de-dadosprogramacao-c-banco-de-dados
programacao-c-banco-de-dadosRaul Dias
 
F1502 p iman3-pt_v3.8_l
F1502 p iman3-pt_v3.8_lF1502 p iman3-pt_v3.8_l
F1502 p iman3-pt_v3.8_lconfidencial
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo OliveiraRonildo Oliveira
 
Visão Geral sobre o Application Insights
Visão Geral sobre o Application InsightsVisão Geral sobre o Application Insights
Visão Geral sobre o Application InsightsAndré Dias
 
Curso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoCurso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoLuiz Carvalho
 
Introdução a Grails: Um framework veloz e poderoso
Introdução a Grails: Um framework veloz e poderosoIntrodução a Grails: Um framework veloz e poderoso
Introdução a Grails: Um framework veloz e poderosoBruno Lopes
 
Princípios de Sistemas de Informação Unidade II Unip
 Princípios de Sistemas de Informação Unidade II Unip  Princípios de Sistemas de Informação Unidade II Unip
Princípios de Sistemas de Informação Unidade II Unip Heber Gutenberg
 
Treze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento AndroidTreze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento AndroidAdriano Rocha
 
Treze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento androidTreze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento androidRicardo Longa
 

Semelhante a Curso Básico Android - Aula 04 (20)

mbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdf
mbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdfmbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdf
mbatarce,+Guilherme+Henrique+Vieira+Pereira+-+Reformulado.pdf
 
Android things, machine learning e maquinas de doces
Android things, machine learning e maquinas de doces Android things, machine learning e maquinas de doces
Android things, machine learning e maquinas de doces
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2
 
Aula05 - Android - Persistência
Aula05 - Android - PersistênciaAula05 - Android - Persistência
Aula05 - Android - Persistência
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEMMinicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
 
Banco de Dados no Visual Studio
Banco de Dados no Visual StudioBanco de Dados no Visual Studio
Banco de Dados no Visual Studio
 
Palestra de Silverlight no DevBrasil Summit 11
Palestra de Silverlight no DevBrasil Summit 11Palestra de Silverlight no DevBrasil Summit 11
Palestra de Silverlight no DevBrasil Summit 11
 
Spring Data Neo4j
Spring Data Neo4jSpring Data Neo4j
Spring Data Neo4j
 
Workshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring BootWorkshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring Boot
 
programacao-c-banco-de-dados
programacao-c-banco-de-dadosprogramacao-c-banco-de-dados
programacao-c-banco-de-dados
 
F1502 p iman3-pt_v3.8_l
F1502 p iman3-pt_v3.8_lF1502 p iman3-pt_v3.8_l
F1502 p iman3-pt_v3.8_l
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
Visão Geral sobre o Application Insights
Visão Geral sobre o Application InsightsVisão Geral sobre o Application Insights
Visão Geral sobre o Application Insights
 
Lm 71 64_67_04_tut_openaudit
Lm 71 64_67_04_tut_openauditLm 71 64_67_04_tut_openaudit
Lm 71 64_67_04_tut_openaudit
 
Curso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoCurso de Introdução ao Android Básico
Curso de Introdução ao Android Básico
 
Introdução a Grails: Um framework veloz e poderoso
Introdução a Grails: Um framework veloz e poderosoIntrodução a Grails: Um framework veloz e poderoso
Introdução a Grails: Um framework veloz e poderoso
 
Princípios de Sistemas de Informação Unidade II Unip
 Princípios de Sistemas de Informação Unidade II Unip  Princípios de Sistemas de Informação Unidade II Unip
Princípios de Sistemas de Informação Unidade II Unip
 
Treze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento AndroidTreze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento Android
 
Treze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento androidTreze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento android
 

Curso Básico Android - Aula 04