SlideShare a Scribd company logo
1 of 50
Download to read offline
Google Android Avançado 
Leonardo Rossetto 
+LeonardoRossetto
Quem? 
• Trabalha com Android e Java web a mais 
de 4 anos, atualmente trabalha com 
desenvolvimento de softwares voltado 
para rastreamento. 
• Gosta de metal e cerveja. 
2
Esse cara sou eu... 
3
Tópicos 
» Google Play Services 
– Google plus (autenticação, posts, share) 
– Google maps 
– Push notifications 
– StreetView, rotas etc 
» Contas de sincronização 
» Patterns (Action bar, search view) 
» Widgets 
4
Tudo isso em 1 aplicativo 
5
6 
O Play services não roda em 
emulador…
7 
Para isso, Genymotion 
Vamos configurar o play services no 
Genymotion
8 
Criar o projeto…
9 
Antes de mais nada… 
Compilar offline com o Gradle
O servidor, sempre o servidor 
10 
https://github.com/leonardoxh/Android-TempoReal
O desafio 
• Criar um aplicativo que irá sincronizar 
noticias e comentários do servidor. 
• De hora em hora para pegar as 
atualizações do servidor, mas, quando 
uma dessas alterações for feita no 
servidor ela irá atualizar real time no 
aplicativo. 
• Será possível fazer share dessas 
atualizações. 
11
12
Porem tenha em mente… 
2 minutos de demora == -1 usuario 
Nenhum feedback == 1 estrela na 
13 
PlayStore 
Perca de informação == Odio eterno 
O aplicativo parou… == ?
14
Criando o projeto 
Dependências... 
15
16 
SDK Manager
Gradle 
• com.google.android.gms:play-services: 
5.0.89 
• com.android.support:support-v4:20.0.0 
17
Sincronização 
• Permissão; 
• Autenticação; 
• Oauth 2.0; 
• Registro junto ao servidor; 
• Buscar os dados; 
• Contas no aparelho; 
• Tudo isso transparente ao usuário. 
18
Frameworks 
• OKHTTP 
• ORMLite 
• Jackson JSON Processor 
19
Dependências... 
» com.squareup.okhttp:okhttp:2.0.0 
» com.j256.ormlite:ormlite-android:4.48 
» com.fasterxml.jackson.core:jackson-core: 
2.4.0 
» com.fasterxml.jackson.core:jackson-databind: 
2.4.0 
» com.fasterxml.jackson.core:jackson-annotations: 
2.4.0 
20
Gambiarras... 
packagingOptions { 
exclude 'LICENSE.txt' 
exclude 'META-INF/LICENSE' 
exclude 'META-INF/NOTICE' 
} 
21
22 
Qual usuario? 
Google Plus, Facebook, Twitter, Github
23 
Qual conta? 
Mais de 1 aparelho? 
Tudo integrado? 
Real time?
24 
Google Play Services 
» 1 API para tudo 
» Metodos estáticos 
» Sem complicação 
» Sem burocracia
25 
Como funciona 
http://developer.android.com/google/play-services/index.html
Armazenar os tokens e dados do 
26 
usuário no servidor
27 
Modelagem 
Colar a modelagem aqui
Compilar, codificar, testar, fazer 
28 
gambiarras… 
Nao necessariamente nessa ordem…
29
30 
Problemas?
31 
Consumir e compartilhar… 
» Registro do GCM 
» Sincronizar 
» Visualizar 
» Compartilhar
32 
» Compartilhar 
» Compartilhar 
» Compartilhar 
» Compartilhar 
» Compartilhar 
E mais…
33 
Opa! Noticia modificada 
» Receber o PUSH 
» Acessar a informação 
» Notificar o usuario 
» Publicar
34 
Adicionar uma nova noticia no 
servidor
35 
Tudo funcionando? 
Ta legal de ver?
Por que design e 70% do negocio 
36
37
38 
Patterns 
» Action bar 
» SearchView 
» Navigation drawer 
» Tabs 
» Cards 
» Float Buttons 
» Muito mais…
39 
GPS… 
Existem empresas que usam simplesmente os 
recursos de GPS do Android
40 
Mais um desafio 
» Localizar o aparelho 
» Pegar as coordenadas 
» Salvar no servidor 
» Criar pontos de referencia (de qualquer 
lugar) 
» Sincronizar esses pontos de referencia 
» Ver os pontos de referencia no Google 
Maps
41 
Play Services, de novo
42 
Sim a mesma API
43 
Mais tabelas 
Adicionar mais uma parte da modelarem
44 
O que? 
» Criar 
» Salvar 
» Salvar na nuvem 
» Compartilhar
45 
Compilar, testar, rezar…
46 
Widgets
47 
Por que? 
» Sao mini apps 
» Sao legais 
» Sao rápidos de fazer 
» Pode ajudar muito o usuário em tarefas 
comuns 
» Esta sempre aberto ali mostrando os 
dados
48 
Mais XML 
Configurando o widget provider
49
50 
E uma ciosa a mais… 
GPlus: +LeonardoRossetto 
Github: leonardoxh 
Email: leonardoxh@gmail.com 
Slide share: leonardoxh 
Twitter: @leorossetto_

More Related Content

What's hot

SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidRafael Sakurai
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Tchelinux
 
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
 
Arquitetura da Plataforma Android
Arquitetura da Plataforma AndroidArquitetura da Plataforma Android
Arquitetura da Plataforma AndroidRonildo Oliveira
 
Seminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidSeminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidWilliam Higino
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Afonso Machado
 
Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de AndroidEdgar Eler
 
Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Gustavo Zimmermann
 
Como montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento AndroidComo montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento AndroidWsdevs Desenvolvedores
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3Jose Berardo
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Jose Berardo
 
Desenvolvimento móvel com Google Android
Desenvolvimento móvel com Google AndroidDesenvolvimento móvel com Google Android
Desenvolvimento móvel com Google AndroidCaelum
 

What's hot (20)

Android
AndroidAndroid
Android
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Android Studio
Android StudioAndroid Studio
Android Studio
 
Android
Android Android
Android
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
 
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
AndroidAndroid
Android
 
Arquitetura da Plataforma Android
Arquitetura da Plataforma AndroidArquitetura da Plataforma Android
Arquitetura da Plataforma Android
 
Seminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidSeminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para Android
 
Android
AndroidAndroid
Android
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1
 
Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de Android
 
Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01
 
Plataforma Android
Plataforma AndroidPlataforma Android
Plataforma Android
 
Como montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento AndroidComo montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento Android
 
Trabalho android
Trabalho androidTrabalho android
Trabalho android
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
 
Desenvolvimento móvel com Google Android
Desenvolvimento móvel com Google AndroidDesenvolvimento móvel com Google Android
Desenvolvimento móvel com Google Android
 

Similar to Google android pdf

TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringTDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringFelipe Klerk Signorini
 
O que é preciso para ser um desenvolvedor Android
O que é preciso para ser um desenvolvedor AndroidO que é preciso para ser um desenvolvedor Android
O que é preciso para ser um desenvolvedor AndroidNelson Glauber Leal
 
[TheBugConference] Testes automatizados de aplicativos na google cloud
[TheBugConference] Testes automatizados de aplicativos na google cloud[TheBugConference] Testes automatizados de aplicativos na google cloud
[TheBugConference] Testes automatizados de aplicativos na google cloudBárbara Cabral da Conceição, CTFL
 
Codelab - Actions on Google
Codelab - Actions on GoogleCodelab - Actions on Google
Codelab - Actions on GoogleAlvaro Viebrantz
 
Big Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenhoBig Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenhoRicardo Longa
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumElias Nogueira
 
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...Alvaro Viebrantz
 
Integrações de APIs do Google no iOS (DevFest NE e SP)
Integrações de APIs do Google no iOS (DevFest NE e SP)Integrações de APIs do Google no iOS (DevFest NE e SP)
Integrações de APIs do Google no iOS (DevFest NE e SP)Juliana Chahoud
 
SharePoint Framework - Uma plataforma aberta e conectada
SharePoint Framework - Uma plataforma aberta e conectadaSharePoint Framework - Uma plataforma aberta e conectada
SharePoint Framework - Uma plataforma aberta e conectadaLambda3
 
Azure Bootcamp - Azure App Service e Function com Linux e NodeJS
Azure Bootcamp - Azure App Service e Function com Linux e NodeJSAzure Bootcamp - Azure App Service e Function com Linux e NodeJS
Azure Bootcamp - Azure App Service e Function com Linux e NodeJSAlexandre Bolzon
 
Por dentro do .NET Core
Por dentro do .NET CorePor dentro do .NET Core
Por dentro do .NET CoreGiovanni Bassi
 
Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Bernardo Porto
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013javamanrj
 
Android - de usuários a desenvolvedores
Android - de usuários a desenvolvedoresAndroid - de usuários a desenvolvedores
Android - de usuários a desenvolvedoresAécio Costa
 
Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?Mozart Diniz
 

Similar to Google android pdf (20)

TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringTDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
O que é preciso para ser um desenvolvedor Android
O que é preciso para ser um desenvolvedor AndroidO que é preciso para ser um desenvolvedor Android
O que é preciso para ser um desenvolvedor Android
 
[TheBugConference] Testes automatizados de aplicativos na google cloud
[TheBugConference] Testes automatizados de aplicativos na google cloud[TheBugConference] Testes automatizados de aplicativos na google cloud
[TheBugConference] Testes automatizados de aplicativos na google cloud
 
Codelab - Actions on Google
Codelab - Actions on GoogleCodelab - Actions on Google
Codelab - Actions on Google
 
Big Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenhoBig Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenho
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com Appium
 
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...
 
Integrações de APIs do Google no iOS (DevFest NE e SP)
Integrações de APIs do Google no iOS (DevFest NE e SP)Integrações de APIs do Google no iOS (DevFest NE e SP)
Integrações de APIs do Google no iOS (DevFest NE e SP)
 
SharePoint Framework - Uma plataforma aberta e conectada
SharePoint Framework - Uma plataforma aberta e conectadaSharePoint Framework - Uma plataforma aberta e conectada
SharePoint Framework - Uma plataforma aberta e conectada
 
Azure Bootcamp - Azure App Service e Function com Linux e NodeJS
Azure Bootcamp - Azure App Service e Function com Linux e NodeJSAzure Bootcamp - Azure App Service e Function com Linux e NodeJS
Azure Bootcamp - Azure App Service e Function com Linux e NodeJS
 
Por dentro do .NET Core
Por dentro do .NET CorePor dentro do .NET Core
Por dentro do .NET Core
 
Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010
 
Web debugging proxies
Web debugging proxiesWeb debugging proxies
Web debugging proxies
 
Android Open Source Project - AOSP
Android Open Source Project  - AOSPAndroid Open Source Project  - AOSP
Android Open Source Project - AOSP
 
Phonegap
PhonegapPhonegap
Phonegap
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
 
Android - de usuários a desenvolvedores
Android - de usuários a desenvolvedoresAndroid - de usuários a desenvolvedores
Android - de usuários a desenvolvedores
 
Meetup Openstack 20190226 - Fabricio Candido
Meetup Openstack 20190226 - Fabricio CandidoMeetup Openstack 20190226 - Fabricio Candido
Meetup Openstack 20190226 - Fabricio Candido
 
Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?
 

Google android pdf