Apresentação realizada no evento Mulher Tech Sim Senhor, promovido em comemoração ao Dia Internacional da Mulher (IWD).
Aconteceu na Faculdade Unipê em 12 de março de 2016.
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.
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.
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
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
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