SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Primeiros Passos para o
Novo Desenvolvedor Android
Messias R. Batista
@mrafaelbatista
Março / 2016
Apresentação
Messias R. Batista
Desenvolvedor Web e Android
Estudante de Sist. para Internet Pós-
graduando em Admin em BD
2004-2009 Graduação em Ciências Socais (UFPB)
2009-2011 Mestrado em Relações Internacionais (UEPB)
Professor da Graduação em RI (UEPB)
2011-2012 Assistente de Pesquisa do IPEA (Brasília-DF)
2012-2013 Graduando em ADS
Coord. Pedagógico de Tecnologia (Microcamp)
2014-2016 Aluno de Sistemas para Internet (Unipê)
Técnico de Suporte do Webcall
Desenvolvedor Web e Mobile
2015-2016 Club do Android (GDG JP)
Pós-graduando em Adm. de Banco de Dados
Agenda
● Referências de Estudo;
● Passo 1 - Prepare-se para o Android;
● Passo 2 - Ambiente de Desenvolvimento;
● Passo 3 - Conhecendo o Android;
● Passo 4 - Montando o Android Frankenstein;
● Passo 5 - Melhores Práticas.
Referências de Estudo
Referências de Estudo http://www.android.com
Referências de Estudo http://developer.android.com/intl/pt-br/develop/index.html
Referências de Estudo Canal: Android Developers
Referências de Estudo http://android-developers.blogspot.com.br/
Referências de Estudo https://android-arsenal.com/
Referências de Estudo Livros
Referências de Estudo Cursos
Referências de Estudo Cursos
Referências de Estudo GDG João Pessoa
Google Study Jam
Referências de Estudo GDG João Pessoa
Club do Android
● Organização em equipes;
● Grupos de estudo;
● Desenvolvimento de apps;
● Workshops e Meetups;
● Compartilhamento de conhecimento.
Passo1
Prepare-se para o Android
Passo 1 - Prepare-se para o Android
Importante
● Orientação à Objetos;
● Desenvolver ou Conhecer a Linguagem Java;
● Conhecimentos de XML;
● Conhecimento dos Principais Padrões de Projetos.
Desejável
● Compreender conceitos de Design Gráfico;
● Noções de Material Design;
● Noções de Usabilidade de Software.
Passo 1 - Prepare-se para o Android
Como aprender JAVA?
● Entender com qualidade Orientação à Objetos;
○ Encapsulamento;
○ Abstração;
○ Herança;
○ Poliformismo;
● Conceitos
○ Classe
○ Objeto
○ Atributo
○ Método
Passo 1 - Prepare-se para o Android
XML de onde vem para onde vai?
O que é XML?
● eXtensible Markup Language
O XML é um formato para a criação de documentos com dados
organizados de forma hierárquica.
Passo 1 - Prepare-se para o Android
XML de onde vem para onde vai?
E por qual motivo aprender?
● Vários dos arquivos que iremos configurar, personalizar e definir no
desenvolvimento de app estão organizados em arquivos XML.
Passo 2
Ambiente de Desenvolvimento
Passo 2 - Ambiente de Desenvolvimento
Android Studio
● IDE Oficial de app Android baseado no IntelliJ IDEA;
● Flexibilidade baseada no Gradle;
● Construção do apk;
● Modelos de código que auxiliam na padronização
dos app;
● Editor com capacidade de drop-down;
● entre outros...
Passo 2 - Ambiente de Desenvolvimento
Android Studio
http://goo.gl/dmKx97
Passo 2 - Ambiente de Desenvolvimento
Android Studio
Passo 2 - Ambiente de Desenvolvimento
Genymotion
Passo 2 - Ambiente de Desenvolvimento
Genymotion
https://goo.gl/aAkziw
Passo 2 - Ambiente de Desenvolvimento
Emulador Intel
● Tecnologia de virtualização Intel VT-X;
○ KVM para Linux;
○ HAXM para Windows e OS X;
● Utilização de 80% da velocidade nativa do
processador;
● Emulador 5x mais rápido.
Passo 2 - Ambiente de Desenvolvimento
Emulador Intel
Passo 3
Conhecendo o Android
Passo 3 - Conhecendo o Android
Versão Nome Lançamento
Android 1.5 Cupcake 2009
Android 1.6 Donut 2009
Android 2.0 Eclair 2009
Android 2.2 Froyo 2010
Android 2.3 Gingerbread 2010
Android 3.0 Honeycomb 2011
Android 4.0 Ice Cream Sandwich 2011
Android 4.1 Jelly Bean 2012
Android 4.4 Kit Kat 2013
Android 5.0 Lollipop 2014
Android 6.0 Marshmallow 2015
Passo 3 - Conhecendo o Android
Compilação Compilação DEX
DEX
File
DEX
File
apkbuilder
Interpretação
Passo 3 - Conhecendo o Android
“O Android fornece uma estrutura de aplicativo rica [...]
para dispositivos móveis em ambiente de linguagem Java”
Passo 3 - Conhecendo o Android
Conceitos fundamentais sobre a estrutura de
aplicativos do Android
Fundamentos de aplicativos
➔ Android é um Linux multiusuário em que cada app é um
usuário diferente;
➔ O sistema atribui a cada app um ID de usuário do Linux;
➔ Cada processo tem sua própria VM, sendo o código de
um app executado isoladamente de outros apps;
➔ Cada aplicativo é executado em seu próprio processo
Linux. O processo é iniciando quando necessário e
finalizado da mesma forma, ou quando o sistema
necessita recuperar memória.
Compatibilidade de Dispositivos
➔ Atenção com a diversidade de dispositivos,
principalmente no que cerne aos recursos disponíveis;
➔ Estar atento ao controle dos recursos dos dispositivos,
que podem ser configurados no arquivo manifest;
➔ Versão da plataforma. Deve-se configurar também no
manifest quais versões mínimas e máximas que o app
dará suporte;
➔ Desenvolver para o tamanho de tela correta, pois apesar
da adaptabilidade do próprio Android, o ideal é poder
otimizar a experiência do usuário.
Passo 3 - Conhecendo o Android
As partes do Frankenstein
Activity
Intent
Broadcast Receiver
Content Provider
Services
Passo 4
Montando o Android Frankenstein
Passo 4 - Montando o Android Frankenstein
Activity
“Activity é um componente de
aplicativo que fornece uma tela com
a qual os usuários podem interagir
para fazer algo, como discar um
número no telefone, tirar uma foto,
enviar um e-mail ou ver um mapa”
Passo 4 - Montando o Android Frankenstein
Activity
● Apps possuem várias activitys;
● Cada activity pode iniciar outra activity;
● As activitys apresentam um ciclo de vida;
● O ciclo de vida das várias activitys são
organizados como uma pilha;
Passo 4 - Montando o Android Frankenstein
Activity
As activitys devem possuir um layout!
JAVA XMLR
A classe R é responsável por gerenciar o acesso aos recursos de imagem, layout, menu,
values, por exemplo. Este gerenciamento é realizado através da criação de constantes para
acessar estes recursos.
Passo 4 - Montando o Android Frankenstein
Activity | Layout
● Deve-se - rabiscar cada tela do app;
● Desenvolver protótipos;
● Definir os recursos de cada tela;
● Definir a navegação entre as telas;
O objetivo é melhorar a
experiência do usuário.
Passo 4 - Montando o Android Frankenstein
Intent
“A Intent é um objeto de mensagem que pode ser usado para
solicitar uma ação de outro componente de aplicativo”
Passo 4 - Montando o Android Frankenstein
Intent
O que podemos fazer com intent?
● Enviar msg ao SO;
● Abrir uma nova tela do app;
● Realizar uma ligação;
● Abrir o browser com um endereço web;
● Exibir endereço ou localização no G. Maps;
● Executar Broadcast Reciver ou Service;
● Enviar msg para outro app;
● Abrir o Google Play para instalar outro app;
● Compartilhar conceútos nas Redes Sociais.
● Escuta reações do sistema;
● Executa tarefas rápidas;
● Trabalha em segundo plano;
Passo 4 - Montando o Android Frankenstein
Broadcast Receiver
“classe [...] utilizada para que aplicações possam reagir a
determinados eventos gerador por uma intent”
Passo 4 - Montando o Android Frankenstein
Content Provider
“Provedores de conteúdo gerenciam o acesso a um conjunto
estruturado de dados. Eles encapsulam os dados e fornecem
mecanismos para definir a segurança dos dados”
Passo 4 - Montando o Android Frankenstein
Services
“Um Service é um componente do aplicativo que pode realizar
operações longas e não fornece uma interface do usuário.”
● Executa o processamento em segundo plano;
● Não precisa ter tempo determinado;
● Não precisa interagir com o usuário;
● Continua sua execução mesmo na troca de app;
Passo 5
Melhores Práticas
Passo 5 - Melhores Práticas
Ouça seus
usuários
Melhore a
estabilidade e
elimine os erros
Melhore a
capacidade de
resposta da UI
Melhore a
Usabilidade
Melhore a
aparência e
estética
Integre com
sistema e
aplicativos de
terceiros
Fonte: Improving App Quality; Android Developers Blog http://android-
developers.blogspot.com.br/2010/10/improving-app-quality.html
Obrigado!
Primeiros Passos para o
Novo Desenvolvedor Android
Messias R. Batista
Twitter: @mrafaelbatista
E-mail: mrafaelbatista@gmail.com
Likedin: https://br.linkedin.com/in/messiasbatista

Mais conteúdo relacionado

Mais procurados

Campus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETCampus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETEduardo Pires
 
Como trabalhar com angular js
Como trabalhar com angular jsComo trabalhar com angular js
Como trabalhar com angular jsMatheus Lima
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5Waldyr Felix
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011Eder Magalhães
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançadoTargettrust
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioGeovani Ferreira Gonçalves
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoEder Magalhães
 
Lightning components - o que são, quais os seus objectivos e exemplos práticos
Lightning components - o que são, quais os seus objectivos e exemplos práticosLightning components - o que são, quais os seus objectivos e exemplos práticos
Lightning components - o que são, quais os seus objectivos e exemplos práticosDom Digital
 
O framework spring
O framework springO framework spring
O framework springBruno Catão
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010Eder Magalhães
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFEmmanuel Neri
 
API testing - Pq a vida não é só ID's, Css, Xpath...
API testing - Pq a vida não é só ID's, Css, Xpath...API testing - Pq a vida não é só ID's, Css, Xpath...
API testing - Pq a vida não é só ID's, Css, Xpath...Eduardo Cini
 
ASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJSASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJSWaldyr Felix
 

Mais procurados (20)

Campus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETCampus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NET
 
Como trabalhar com angular js
Como trabalhar com angular jsComo trabalhar com angular js
Como trabalhar com angular js
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5
 
Arquitetura do Framework Spring
Arquitetura do Framework SpringArquitetura do Framework Spring
Arquitetura do Framework Spring
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual Studio
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais rico
 
Lightning components - o que são, quais os seus objectivos e exemplos práticos
Lightning components - o que são, quais os seus objectivos e exemplos práticosLightning components - o que são, quais os seus objectivos e exemplos práticos
Lightning components - o que são, quais os seus objectivos e exemplos práticos
 
O framework spring
O framework springO framework spring
O framework spring
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010
 
BDD
BDDBDD
BDD
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Framework7
Framework7Framework7
Framework7
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Gwt parte 01
Gwt   parte 01Gwt   parte 01
Gwt parte 01
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSF
 
API testing - Pq a vida não é só ID's, Css, Xpath...
API testing - Pq a vida não é só ID's, Css, Xpath...API testing - Pq a vida não é só ID's, Css, Xpath...
API testing - Pq a vida não é só ID's, Css, Xpath...
 
ASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJSASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJS
 

Destaque

stem뱅킹1
stem뱅킹1stem뱅킹1
stem뱅킹1Myun Kim
 
Dulceeeeeeeeeeeeeeeeeeeeeeeee
DulceeeeeeeeeeeeeeeeeeeeeeeeeDulceeeeeeeeeeeeeeeeeeeeeeeee
Dulceeeeeeeeeeeeeeeeeeeeeeeeejaviera1696
 
Vita di don orione in italiano (1)
Vita di don orione in italiano (1)Vita di don orione in italiano (1)
Vita di don orione in italiano (1)adamoa4
 
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่า จูเฬกสาฎก๒
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่า จูเฬกสาฎก๒แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่า จูเฬกสาฎก๒
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่า จูเฬกสาฎก๒วัดดอนทอง กาฬสินธุ์
 
บทความเรื่องการบริหารงานตามหลักฆราวาสธรรม ๒
บทความเรื่องการบริหารงานตามหลักฆราวาสธรรม ๒บทความเรื่องการบริหารงานตามหลักฆราวาสธรรม ๒
บทความเรื่องการบริหารงานตามหลักฆราวาสธรรม ๒วัดดอนทอง กาฬสินธุ์
 
Open onderzoeksdata
Open onderzoeksdataOpen onderzoeksdata
Open onderzoeksdataArjan Fassed
 
ios 5 arc完全指南
ios 5 arc完全指南ios 5 arc完全指南
ios 5 arc完全指南lambokini
 
EUROSAI meeting 26 October 2016, Amsterdam
EUROSAI meeting 26 October 2016, AmsterdamEUROSAI meeting 26 October 2016, Amsterdam
EUROSAI meeting 26 October 2016, AmsterdamArjan Fassed
 
Sales Problems and Common Cold. What's The Difference?
Sales Problems and Common Cold. What's The Difference?Sales Problems and Common Cold. What's The Difference?
Sales Problems and Common Cold. What's The Difference?KUMAR LANG
 
Van datajournalistiek naar datajournalisme
Van datajournalistiek naar datajournalismeVan datajournalistiek naar datajournalisme
Van datajournalistiek naar datajournalismeArjan Fassed
 
AGU2012 Social Media
AGU2012 Social MediaAGU2012 Social Media
AGU2012 Social Mediadarkskyamee
 
VMUG Sweden 2013-02-08 - Puppet and Razor
VMUG Sweden 2013-02-08 - Puppet and RazorVMUG Sweden 2013-02-08 - Puppet and Razor
VMUG Sweden 2013-02-08 - Puppet and RazorJonas Rosland
 
Imagenes y paisajes del mundo
Imagenes y paisajes del mundoImagenes y paisajes del mundo
Imagenes y paisajes del mundocamargo1963
 
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก ๘
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก ๘แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก ๘
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก ๘วัดดอนทอง กาฬสินธุ์
 

Destaque (20)

stem뱅킹1
stem뱅킹1stem뱅킹1
stem뱅킹1
 
Used to
Used toUsed to
Used to
 
Dulceeeeeeeeeeeeeeeeeeeeeeeee
DulceeeeeeeeeeeeeeeeeeeeeeeeeDulceeeeeeeeeeeeeeeeeeeeeeeee
Dulceeeeeeeeeeeeeeeeeeeeeeeee
 
Vita di don orione in italiano (1)
Vita di don orione in italiano (1)Vita di don orione in italiano (1)
Vita di don orione in italiano (1)
 
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่า จูเฬกสาฎก๒
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่า จูเฬกสาฎก๒แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่า จูเฬกสาฎก๒
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่า จูเฬกสาฎก๒
 
06essay
06essay06essay
06essay
 
บทความเรื่องการบริหารงานตามหลักฆราวาสธรรม ๒
บทความเรื่องการบริหารงานตามหลักฆราวาสธรรม ๒บทความเรื่องการบริหารงานตามหลักฆราวาสธรรม ๒
บทความเรื่องการบริหารงานตามหลักฆราวาสธรรม ๒
 
Open onderzoeksdata
Open onderzoeksdataOpen onderzoeksdata
Open onderzoeksdata
 
ios 5 arc完全指南
ios 5 arc完全指南ios 5 arc完全指南
ios 5 arc完全指南
 
EUROSAI meeting 26 October 2016, Amsterdam
EUROSAI meeting 26 October 2016, AmsterdamEUROSAI meeting 26 October 2016, Amsterdam
EUROSAI meeting 26 October 2016, Amsterdam
 
Sales Problems and Common Cold. What's The Difference?
Sales Problems and Common Cold. What's The Difference?Sales Problems and Common Cold. What's The Difference?
Sales Problems and Common Cold. What's The Difference?
 
Van datajournalistiek naar datajournalisme
Van datajournalistiek naar datajournalismeVan datajournalistiek naar datajournalisme
Van datajournalistiek naar datajournalisme
 
AGU2012 Social Media
AGU2012 Social MediaAGU2012 Social Media
AGU2012 Social Media
 
Tocopilla Norte: imágenes y memoria
Tocopilla Norte: imágenes y memoria Tocopilla Norte: imágenes y memoria
Tocopilla Norte: imágenes y memoria
 
VMUG Sweden 2013-02-08 - Puppet and Razor
VMUG Sweden 2013-02-08 - Puppet and RazorVMUG Sweden 2013-02-08 - Puppet and Razor
VMUG Sweden 2013-02-08 - Puppet and Razor
 
Log
LogLog
Log
 
ทดสอบไวยากรณ์ สมาส Power point 50
ทดสอบไวยากรณ์ สมาส Power point 50ทดสอบไวยากรณ์ สมาส Power point 50
ทดสอบไวยากรณ์ สมาส Power point 50
 
Imagenes y paisajes del mundo
Imagenes y paisajes del mundoImagenes y paisajes del mundo
Imagenes y paisajes del mundo
 
305
305305
305
 
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก ๘
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก ๘แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก ๘
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก ๘
 

Semelhante a Primeiros Passos Android

Minicurso iniciando com Android no Androidos Day
Minicurso iniciando com Android no Androidos DayMinicurso iniciando com Android no Androidos Day
Minicurso iniciando com Android no Androidos DayMessias Batista
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidMessias Batista
 
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaO novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaMessias Batista
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para AndroidClaudio Pereira
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao AndroidJugVale
 
Indrodução ao android 1º Encontro JUG VALE 2012
Indrodução ao android 1º Encontro JUG VALE 2012Indrodução ao android 1º Encontro JUG VALE 2012
Indrodução ao android 1º Encontro JUG VALE 2012Pedro Henrique
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Androidjgbirk
 
Desenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGapDesenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGapMayron Cachina
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao AndroidJanynne Gomes
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, ActivityArthur Emanuel
 
Desenvolvimento android
Desenvolvimento androidDesenvolvimento android
Desenvolvimento androidDiego Keller
 
Android Palestra
Android PalestraAndroid Palestra
Android PalestraRenato
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CERonildo Oliveira
 
Curso de android
Curso de androidCurso de android
Curso de androidflaviokreis
 
Palestra sobre android
Palestra sobre androidPalestra sobre android
Palestra sobre androidReuel Lopes
 

Semelhante a Primeiros Passos Android (20)

Minicurso iniciando com Android no Androidos Day
Minicurso iniciando com Android no Androidos DayMinicurso iniciando com Android no Androidos Day
Minicurso iniciando com Android no Androidos Day
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
 
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaO novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Phonegap
PhonegapPhonegap
Phonegap
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Indrodução ao android 1º Encontro JUG VALE 2012
Indrodução ao android 1º Encontro JUG VALE 2012Indrodução ao android 1º Encontro JUG VALE 2012
Indrodução ao android 1º Encontro JUG VALE 2012
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Android
 
Desenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGapDesenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGap
 
Curso Básico Android - Aula 01
Curso Básico Android - Aula 01Curso Básico Android - Aula 01
Curso Básico Android - Aula 01
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Android
AndroidAndroid
Android
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, Activity
 
Desenvolvimento android
Desenvolvimento androidDesenvolvimento android
Desenvolvimento android
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CE
 
Curso de android
Curso de androidCurso de android
Curso de android
 
Palestra sobre android
Palestra sobre androidPalestra sobre android
Palestra sobre android
 

Mais de Messias Batista

Aula 02.1 FSI - Terminologia da Informática e Sistemas de Informação - os ele...
Aula 02.1 FSI - Terminologia da Informática e Sistemas de Informação - os ele...Aula 02.1 FSI - Terminologia da Informática e Sistemas de Informação - os ele...
Aula 02.1 FSI - Terminologia da Informática e Sistemas de Informação - os ele...Messias Batista
 
Aula 06.1 FSI - Papel da Informação nas Organizações
Aula 06.1 FSI - Papel da Informação nas OrganizaçõesAula 06.1 FSI - Papel da Informação nas Organizações
Aula 06.1 FSI - Papel da Informação nas OrganizaçõesMessias Batista
 
Aula 01.2 FSI - Ferramentas Importantes
Aula 01.2 FSI - Ferramentas ImportantesAula 01.2 FSI - Ferramentas Importantes
Aula 01.2 FSI - Ferramentas ImportantesMessias Batista
 
Aula 08.2 - ALP - Vetores e Matrizes
Aula 08.2 - ALP - Vetores e MatrizesAula 08.2 - ALP - Vetores e Matrizes
Aula 08.2 - ALP - Vetores e MatrizesMessias Batista
 
Aula 08.1 - ALP - Linguagem C (Primeiros passos)
Aula 08.1 - ALP - Linguagem C (Primeiros passos)Aula 08.1 - ALP - Linguagem C (Primeiros passos)
Aula 08.1 - ALP - Linguagem C (Primeiros passos)Messias Batista
 
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...Messias Batista
 
Aula 04.1 - Operações Básicas no uso de microcomputadores- editores de texto...
 Aula 04.1 - Operações Básicas no uso de microcomputadores- editores de texto... Aula 04.1 - Operações Básicas no uso de microcomputadores- editores de texto...
Aula 04.1 - Operações Básicas no uso de microcomputadores- editores de texto...Messias Batista
 
Aula 06.1 - Estruturas de Repetição (while, for, repeat)
Aula 06.1 - Estruturas de Repetição (while, for, repeat)Aula 06.1 - Estruturas de Repetição (while, for, repeat)
Aula 06.1 - Estruturas de Repetição (while, for, repeat)Messias Batista
 
Aula 05.2 - Desvio Condicional Composto (se não se)
Aula 05.2 - Desvio Condicional Composto (se não se)Aula 05.2 - Desvio Condicional Composto (se não se)
Aula 05.2 - Desvio Condicional Composto (se não se)Messias Batista
 
Aula 05.1 - Estruturas de controle - Sequencial e Desvio Condicional Simples ...
Aula 05.1 - Estruturas de controle - Sequencial e Desvio Condicional Simples ...Aula 05.1 - Estruturas de controle - Sequencial e Desvio Condicional Simples ...
Aula 05.1 - Estruturas de controle - Sequencial e Desvio Condicional Simples ...Messias Batista
 
Aula 03.2 - Algoritmos, Diagramas de Blocos e Fluxograma
Aula 03.2 - Algoritmos, Diagramas de Blocos e FluxogramaAula 03.2 - Algoritmos, Diagramas de Blocos e Fluxograma
Aula 03.2 - Algoritmos, Diagramas de Blocos e FluxogramaMessias Batista
 
Aula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e LógicosAula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e LógicosMessias Batista
 
Aula 01.3 - Fundamentos da Construção de Algoritmos e Programas
Aula 01.3 - Fundamentos da Construção de Algoritmos e ProgramasAula 01.3 - Fundamentos da Construção de Algoritmos e Programas
Aula 01.3 - Fundamentos da Construção de Algoritmos e ProgramasMessias Batista
 
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores AritméticosAula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores AritméticosMessias Batista
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao androidMessias Batista
 
Aula09 SD - Replicação e Consistência
Aula09 SD - Replicação e ConsistênciaAula09 SD - Replicação e Consistência
Aula09 SD - Replicação e ConsistênciaMessias Batista
 
Aula08 - Sistemas Distribuídos - Sincronização
Aula08 - Sistemas Distribuídos - SincronizaçãoAula08 - Sistemas Distribuídos - Sincronização
Aula08 - Sistemas Distribuídos - SincronizaçãoMessias Batista
 
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1Messias Batista
 
Aula02 Desenvolvimento em Ambiente Web - CSS 3
Aula02 Desenvolvimento em Ambiente Web - CSS 3Aula02 Desenvolvimento em Ambiente Web - CSS 3
Aula02 Desenvolvimento em Ambiente Web - CSS 3Messias Batista
 
Aula02 Tópicos em Ambiente Web - Produção de Páginas Web (conceitos)
Aula02 Tópicos em Ambiente Web - Produção de Páginas Web (conceitos)Aula02 Tópicos em Ambiente Web - Produção de Páginas Web (conceitos)
Aula02 Tópicos em Ambiente Web - Produção de Páginas Web (conceitos)Messias Batista
 

Mais de Messias Batista (20)

Aula 02.1 FSI - Terminologia da Informática e Sistemas de Informação - os ele...
Aula 02.1 FSI - Terminologia da Informática e Sistemas de Informação - os ele...Aula 02.1 FSI - Terminologia da Informática e Sistemas de Informação - os ele...
Aula 02.1 FSI - Terminologia da Informática e Sistemas de Informação - os ele...
 
Aula 06.1 FSI - Papel da Informação nas Organizações
Aula 06.1 FSI - Papel da Informação nas OrganizaçõesAula 06.1 FSI - Papel da Informação nas Organizações
Aula 06.1 FSI - Papel da Informação nas Organizações
 
Aula 01.2 FSI - Ferramentas Importantes
Aula 01.2 FSI - Ferramentas ImportantesAula 01.2 FSI - Ferramentas Importantes
Aula 01.2 FSI - Ferramentas Importantes
 
Aula 08.2 - ALP - Vetores e Matrizes
Aula 08.2 - ALP - Vetores e MatrizesAula 08.2 - ALP - Vetores e Matrizes
Aula 08.2 - ALP - Vetores e Matrizes
 
Aula 08.1 - ALP - Linguagem C (Primeiros passos)
Aula 08.1 - ALP - Linguagem C (Primeiros passos)Aula 08.1 - ALP - Linguagem C (Primeiros passos)
Aula 08.1 - ALP - Linguagem C (Primeiros passos)
 
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
 
Aula 04.1 - Operações Básicas no uso de microcomputadores- editores de texto...
 Aula 04.1 - Operações Básicas no uso de microcomputadores- editores de texto... Aula 04.1 - Operações Básicas no uso de microcomputadores- editores de texto...
Aula 04.1 - Operações Básicas no uso de microcomputadores- editores de texto...
 
Aula 06.1 - Estruturas de Repetição (while, for, repeat)
Aula 06.1 - Estruturas de Repetição (while, for, repeat)Aula 06.1 - Estruturas de Repetição (while, for, repeat)
Aula 06.1 - Estruturas de Repetição (while, for, repeat)
 
Aula 05.2 - Desvio Condicional Composto (se não se)
Aula 05.2 - Desvio Condicional Composto (se não se)Aula 05.2 - Desvio Condicional Composto (se não se)
Aula 05.2 - Desvio Condicional Composto (se não se)
 
Aula 05.1 - Estruturas de controle - Sequencial e Desvio Condicional Simples ...
Aula 05.1 - Estruturas de controle - Sequencial e Desvio Condicional Simples ...Aula 05.1 - Estruturas de controle - Sequencial e Desvio Condicional Simples ...
Aula 05.1 - Estruturas de controle - Sequencial e Desvio Condicional Simples ...
 
Aula 03.2 - Algoritmos, Diagramas de Blocos e Fluxograma
Aula 03.2 - Algoritmos, Diagramas de Blocos e FluxogramaAula 03.2 - Algoritmos, Diagramas de Blocos e Fluxograma
Aula 03.2 - Algoritmos, Diagramas de Blocos e Fluxograma
 
Aula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e LógicosAula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e Lógicos
 
Aula 01.3 - Fundamentos da Construção de Algoritmos e Programas
Aula 01.3 - Fundamentos da Construção de Algoritmos e ProgramasAula 01.3 - Fundamentos da Construção de Algoritmos e Programas
Aula 01.3 - Fundamentos da Construção de Algoritmos e Programas
 
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores AritméticosAula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Aula09 SD - Replicação e Consistência
Aula09 SD - Replicação e ConsistênciaAula09 SD - Replicação e Consistência
Aula09 SD - Replicação e Consistência
 
Aula08 - Sistemas Distribuídos - Sincronização
Aula08 - Sistemas Distribuídos - SincronizaçãoAula08 - Sistemas Distribuídos - Sincronização
Aula08 - Sistemas Distribuídos - Sincronização
 
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
 
Aula02 Desenvolvimento em Ambiente Web - CSS 3
Aula02 Desenvolvimento em Ambiente Web - CSS 3Aula02 Desenvolvimento em Ambiente Web - CSS 3
Aula02 Desenvolvimento em Ambiente Web - CSS 3
 
Aula02 Tópicos em Ambiente Web - Produção de Páginas Web (conceitos)
Aula02 Tópicos em Ambiente Web - Produção de Páginas Web (conceitos)Aula02 Tópicos em Ambiente Web - Produção de Páginas Web (conceitos)
Aula02 Tópicos em Ambiente Web - Produção de Páginas Web (conceitos)
 

Primeiros Passos Android

  • 1. Primeiros Passos para o Novo Desenvolvedor Android Messias R. Batista @mrafaelbatista Março / 2016
  • 2. Apresentação Messias R. Batista Desenvolvedor Web e Android Estudante de Sist. para Internet Pós- graduando em Admin em BD 2004-2009 Graduação em Ciências Socais (UFPB) 2009-2011 Mestrado em Relações Internacionais (UEPB) Professor da Graduação em RI (UEPB) 2011-2012 Assistente de Pesquisa do IPEA (Brasília-DF) 2012-2013 Graduando em ADS Coord. Pedagógico de Tecnologia (Microcamp) 2014-2016 Aluno de Sistemas para Internet (Unipê) Técnico de Suporte do Webcall Desenvolvedor Web e Mobile 2015-2016 Club do Android (GDG JP) Pós-graduando em Adm. de Banco de Dados
  • 3. Agenda ● Referências de Estudo; ● Passo 1 - Prepare-se para o Android; ● Passo 2 - Ambiente de Desenvolvimento; ● Passo 3 - Conhecendo o Android; ● Passo 4 - Montando o Android Frankenstein; ● Passo 5 - Melhores Práticas.
  • 5. Referências de Estudo http://www.android.com
  • 6. Referências de Estudo http://developer.android.com/intl/pt-br/develop/index.html
  • 7. Referências de Estudo Canal: Android Developers
  • 8. Referências de Estudo http://android-developers.blogspot.com.br/
  • 9. Referências de Estudo https://android-arsenal.com/
  • 13. Referências de Estudo GDG João Pessoa Google Study Jam
  • 14. Referências de Estudo GDG João Pessoa Club do Android ● Organização em equipes; ● Grupos de estudo; ● Desenvolvimento de apps; ● Workshops e Meetups; ● Compartilhamento de conhecimento.
  • 16. Passo 1 - Prepare-se para o Android Importante ● Orientação à Objetos; ● Desenvolver ou Conhecer a Linguagem Java; ● Conhecimentos de XML; ● Conhecimento dos Principais Padrões de Projetos. Desejável ● Compreender conceitos de Design Gráfico; ● Noções de Material Design; ● Noções de Usabilidade de Software.
  • 17. Passo 1 - Prepare-se para o Android Como aprender JAVA? ● Entender com qualidade Orientação à Objetos; ○ Encapsulamento; ○ Abstração; ○ Herança; ○ Poliformismo; ● Conceitos ○ Classe ○ Objeto ○ Atributo ○ Método
  • 18. Passo 1 - Prepare-se para o Android XML de onde vem para onde vai? O que é XML? ● eXtensible Markup Language O XML é um formato para a criação de documentos com dados organizados de forma hierárquica.
  • 19. Passo 1 - Prepare-se para o Android XML de onde vem para onde vai? E por qual motivo aprender? ● Vários dos arquivos que iremos configurar, personalizar e definir no desenvolvimento de app estão organizados em arquivos XML.
  • 20. Passo 2 Ambiente de Desenvolvimento
  • 21. Passo 2 - Ambiente de Desenvolvimento Android Studio ● IDE Oficial de app Android baseado no IntelliJ IDEA; ● Flexibilidade baseada no Gradle; ● Construção do apk; ● Modelos de código que auxiliam na padronização dos app; ● Editor com capacidade de drop-down; ● entre outros...
  • 22. Passo 2 - Ambiente de Desenvolvimento Android Studio http://goo.gl/dmKx97
  • 23. Passo 2 - Ambiente de Desenvolvimento Android Studio
  • 24. Passo 2 - Ambiente de Desenvolvimento Genymotion
  • 25. Passo 2 - Ambiente de Desenvolvimento Genymotion https://goo.gl/aAkziw
  • 26. Passo 2 - Ambiente de Desenvolvimento Emulador Intel ● Tecnologia de virtualização Intel VT-X; ○ KVM para Linux; ○ HAXM para Windows e OS X; ● Utilização de 80% da velocidade nativa do processador; ● Emulador 5x mais rápido.
  • 27. Passo 2 - Ambiente de Desenvolvimento Emulador Intel
  • 29. Passo 3 - Conhecendo o Android Versão Nome Lançamento Android 1.5 Cupcake 2009 Android 1.6 Donut 2009 Android 2.0 Eclair 2009 Android 2.2 Froyo 2010 Android 2.3 Gingerbread 2010 Android 3.0 Honeycomb 2011 Android 4.0 Ice Cream Sandwich 2011 Android 4.1 Jelly Bean 2012 Android 4.4 Kit Kat 2013 Android 5.0 Lollipop 2014 Android 6.0 Marshmallow 2015
  • 30. Passo 3 - Conhecendo o Android Compilação Compilação DEX DEX File DEX File apkbuilder Interpretação
  • 31. Passo 3 - Conhecendo o Android “O Android fornece uma estrutura de aplicativo rica [...] para dispositivos móveis em ambiente de linguagem Java”
  • 32. Passo 3 - Conhecendo o Android Conceitos fundamentais sobre a estrutura de aplicativos do Android Fundamentos de aplicativos ➔ Android é um Linux multiusuário em que cada app é um usuário diferente; ➔ O sistema atribui a cada app um ID de usuário do Linux; ➔ Cada processo tem sua própria VM, sendo o código de um app executado isoladamente de outros apps; ➔ Cada aplicativo é executado em seu próprio processo Linux. O processo é iniciando quando necessário e finalizado da mesma forma, ou quando o sistema necessita recuperar memória. Compatibilidade de Dispositivos ➔ Atenção com a diversidade de dispositivos, principalmente no que cerne aos recursos disponíveis; ➔ Estar atento ao controle dos recursos dos dispositivos, que podem ser configurados no arquivo manifest; ➔ Versão da plataforma. Deve-se configurar também no manifest quais versões mínimas e máximas que o app dará suporte; ➔ Desenvolver para o tamanho de tela correta, pois apesar da adaptabilidade do próprio Android, o ideal é poder otimizar a experiência do usuário.
  • 33. Passo 3 - Conhecendo o Android As partes do Frankenstein Activity Intent Broadcast Receiver Content Provider Services
  • 34. Passo 4 Montando o Android Frankenstein
  • 35. Passo 4 - Montando o Android Frankenstein Activity “Activity é um componente de aplicativo que fornece uma tela com a qual os usuários podem interagir para fazer algo, como discar um número no telefone, tirar uma foto, enviar um e-mail ou ver um mapa”
  • 36. Passo 4 - Montando o Android Frankenstein Activity ● Apps possuem várias activitys; ● Cada activity pode iniciar outra activity; ● As activitys apresentam um ciclo de vida; ● O ciclo de vida das várias activitys são organizados como uma pilha;
  • 37. Passo 4 - Montando o Android Frankenstein Activity As activitys devem possuir um layout! JAVA XMLR A classe R é responsável por gerenciar o acesso aos recursos de imagem, layout, menu, values, por exemplo. Este gerenciamento é realizado através da criação de constantes para acessar estes recursos.
  • 38. Passo 4 - Montando o Android Frankenstein Activity | Layout ● Deve-se - rabiscar cada tela do app; ● Desenvolver protótipos; ● Definir os recursos de cada tela; ● Definir a navegação entre as telas; O objetivo é melhorar a experiência do usuário.
  • 39. Passo 4 - Montando o Android Frankenstein Intent “A Intent é um objeto de mensagem que pode ser usado para solicitar uma ação de outro componente de aplicativo”
  • 40. Passo 4 - Montando o Android Frankenstein Intent O que podemos fazer com intent? ● Enviar msg ao SO; ● Abrir uma nova tela do app; ● Realizar uma ligação; ● Abrir o browser com um endereço web; ● Exibir endereço ou localização no G. Maps; ● Executar Broadcast Reciver ou Service; ● Enviar msg para outro app; ● Abrir o Google Play para instalar outro app; ● Compartilhar conceútos nas Redes Sociais.
  • 41. ● Escuta reações do sistema; ● Executa tarefas rápidas; ● Trabalha em segundo plano; Passo 4 - Montando o Android Frankenstein Broadcast Receiver “classe [...] utilizada para que aplicações possam reagir a determinados eventos gerador por uma intent”
  • 42. Passo 4 - Montando o Android Frankenstein Content Provider “Provedores de conteúdo gerenciam o acesso a um conjunto estruturado de dados. Eles encapsulam os dados e fornecem mecanismos para definir a segurança dos dados”
  • 43. Passo 4 - Montando o Android Frankenstein Services “Um Service é um componente do aplicativo que pode realizar operações longas e não fornece uma interface do usuário.” ● Executa o processamento em segundo plano; ● Não precisa ter tempo determinado; ● Não precisa interagir com o usuário; ● Continua sua execução mesmo na troca de app;
  • 45. Passo 5 - Melhores Práticas Ouça seus usuários Melhore a estabilidade e elimine os erros Melhore a capacidade de resposta da UI Melhore a Usabilidade Melhore a aparência e estética Integre com sistema e aplicativos de terceiros Fonte: Improving App Quality; Android Developers Blog http://android- developers.blogspot.com.br/2010/10/improving-app-quality.html
  • 46. Obrigado! Primeiros Passos para o Novo Desenvolvedor Android Messias R. Batista Twitter: @mrafaelbatista E-mail: mrafaelbatista@gmail.com Likedin: https://br.linkedin.com/in/messiasbatista