Primeiros passos para o novo desenvolvedor android
-
Upload
messias-batista -
Category
Technology
-
view
264 -
download
2
Transcript of Primeiros passos para o novo desenvolvedor android
Apresentação
Messias R. Batista
Desenvolvedor Web e AndroidEstudante 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 GDG João Pessoa
Club do Android
● Organização em equipes;
● Grupos de estudo;
● Desenvolvimento de apps;
● Workshops e Meetups;
● Compartilhamento de conhecimento.
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 AndroidComo 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 AndroidXML 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 AndroidXML 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 DesenvolvimentoAndroid 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 DesenvolvimentoAndroid Studio
http://goo.gl/dmKx97
Passo 2 - Ambiente de DesenvolvimentoGenymotion
https://goo.gl/aAkziw
Passo 2 - Ambiente de DesenvolvimentoEmulador 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 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
“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 AndroidAs partes do Frankenstein
Activity
Intent
Broadcast Receiver
Content Provider
Services
Passo 4 - Montando o Android FrankensteinActivity
“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 FrankensteinActivity
● 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 FrankensteinActivity
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 FrankensteinActivity | 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 FrankensteinIntent
“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 FrankensteinIntent
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 FrankensteinBroadcast Receiver
“classe [...] utilizada para que aplicações possam reagir a determinados eventos gerador por uma intent”
Passo 4 - Montando o Android FrankensteinContent 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 FrankensteinServices
“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
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 AndroidMessias R. BatistaTwitter: @mrafaelbatistaE-mail: [email protected]: https://br.linkedin.com/in/messiasbatista