Desenvolvimento de aplicativos para a plataforma Android 
José Alexandre Macedo
Monte Sião/MG 
De onde venho... 
Foz do Iguaçu/PR 
Alfenas/MG 
Vila Velha/ES 
Vitória/ES 
Guarapari/ES 
Rio de Janeiro/RJ
Blog 
Desenvolvimento & Pesquisajamacedo.com 
Articulista 
Revista Java Magazine 
Background 
+8 Anos Java 
+4 Anos Android
Projetos
O futuro é mobile
Mudança Fundamental(em escala)
Mudança Fundamental(em uso)
Polarização das Empresas
Variação Geográfica
Como aplicativos são usados?
Oportunidades
Vamos aproveitar essa onda!
MundoAndroid
+1.5 milhão 
ativaçõesdiárias
Emprego
Vantagens do Android
Dispositivos para todos os bolsos
Código Aberto
Código “Aberto”
Desenvolvimento 
em Java
Programação Multiplataforma
Androidvai além dos smartphones e tablets...
Androidvai além dos smartphones e tablets...
Androidvai além dos smartphones e tablets...
Androidvai além dos smartphones e tablets...
Sim... 
A Google quer dominar o mundo!
Breve histórico
ÚltimaVersão
Breve histórico 
Outubro de 2003 
Android, Inc. foi fundada em PaloAlto, Californiapor Andy Rubin, RichMiner, Nick Sears e Chris White
Breve histórico 
Julho de 2005 
Google adquire AndroidInc.
Breve histórico 
5 de Novembro de 2007 
A Open HandsetAlliance é formada
Breve histórico 
12 de Novembro de 2007 
AndroidBeta SDK é disponibilizado
Breve histórico 
23 de Setembro de 2008 
Lançado o primeiro smatphonecom Android1.0, o HTC Dream (G1) 
~35 appsno lançamento da Android Market
Distribuição Versões Hoje
Distribuição Versões Hoje
Arquitetura
Arquitetura
Processo de desenvolvimento Java tradicional 
.java 
.class 
JVM 
Compilação 
Interpretação
Processo de desenvolvimento Android 
.dex 
Dalvik 
Virtual 
Machine 
.java 
.class 
Compilação 
Compilação 
dex 
.apk 
Interpretação 
apkbuilder 
(Android 5+ 
ART)
Componentes de Aplicação
Componentes de Aplicação 
Activity 
Responsável por definir a interface e os comportamentosde uma tela da aplicação
Componentes de Aplicação 
Service 
Sãoos processos de fundosem interface com usuário.Podem serlocaisouremotos
Componentes de Aplicação 
Content 
Provider 
Forma de expor os dados da aplicação sem expor suas implementações
Componentes de Aplicação 
Intents 
Permite criar propósitos. Ex.: abrir uma activity, iniciar um serviço, exibir uma página web ou fazer uma ligação
Interface com Usuário
Interface com Usuário 
Viewssão os blocosde construção básicos 
A combinação de viewsforma um 
groupview 
Declaradas em arquivos XML
Ciclo de Vida
Ferramentas necessárias 
SDK 
AndroidDeveloperTools (ADT) 
PluginEclipse
Tenho outra opção de IDE? 
Sim!
Ferramentas necessárias 
AndroidVirtual Devices
Emulador é muito lento? 
http://www.genymotion.com/ 
Solução: Genymotion
Logcat 
O melhor amigo do desenvolvedor!
Logcat 
O melhor amigo do desenvolvedor!
#partiuEclipse
Criando um novo projeto
Criando um novo projeto
Criando um novo projeto
Criando um novo projeto
Criando um novo projeto
Dissecandoa aplicaçãogerada
EstruturaBásica doProjeto
Activities, Services, ContentProviderse outras classes Java
Fornece referências para os recursos disponíveis no projeto 
Gerada e mantida automaticamente 
NÃO MEXA!
Armazena arquivos brutos 
Permite subdiretórios 
Não gera ids
Um recurso é um arquivo ou valor utilizado pela aplicação
A pasta drawable-* armazena imagens
A valuescontém valores que podem ser usados em vários locais. 
Outros arquivos válidos são para arrays, colors, dimensionse styles
A layout contém os arquivos de interface com usuário
Define os conteúdos e comportamentos das aplicações
Antes de executar o projetos precisamos de umvirtual device(AVD)
Localizem e cliquem no ícone do ADV Manager 
Em seguida cliquem em “New...” 
Para criarmos um novo emulador
Vamos configurar nosso novo emulador
Agora é só apertar o play!
Criando nosso 1º aplicativo 
Comparador 
de 
Preços
compensa mais? 
600ml 
360ml 
R$ 4,75 
R$ 3,20 
Qual produto
Estrutura do Projeto 
main.xml 
resultado.xml 
Transição 
com Intents 
1ª Opção 
R$ 
mL 
2ª Opção 
R$ 
mL 
X 
Comparar 
A Xªopção está compensando mais porque está Y% mais barata! 
MainActivity.java 
ResultActivity.java 
string.xml 
AndroidManifest.xml 
Criar 
Modificar
1º PassoModificar main.xml
2º PassoCriar resultado.xml
3º PassoModificar MainActivity.java 
Crie mais 4 variáveis com nomes quantidadeOp1, precoOp2, quantidadeOp2, botaoComparacaoda mesma forma e usando o id correto
3º PassoModificar MainActivity.java 
Método compararPrecos()
4º PassoCriar ResultActivity.java 
Recupereo TextViewdo resultado usando o método findViewByIde altereo texto com o resultado
5º PassoModificar AndroidManifest.xml
Resultado Final
Finalizei meu aplicativo... 
Como publicar no 
Google Play?
1ºRegistro no Google Play $25 
2ºAssinar o aplicativo com uma chave privada 
3ºRealizar upload do apke de imagens do aplicativo 
Publicando no Google Play
Quero mais! ComoFaço?
Arsenal Android 
https://android-arsenal.com/
Passagemobrigatória! 
Guias 
Documentação 
Android 
Training 
Exemplos 
Código 
Vídeos 
Blog 
Artigos 
Tutoriais
http://groups.google.com/group/android-developers 
http://groups.google.com/group/android-discuss 
http://groups.google.com/ group/android-ndk 
http://stackoverflow.com/ questions/tagged/android 
Grupos de Discussão
Livros
Dúvidas?
jamacedo.com 
@jamacedo 
josealexandremacedo@gmail.com 
Obrigado!

Desenvolvimento de Aplicativos para a Plataforma Android