Desenvolvimento Android George Nunes Parte 1
Desenvolvimento Android
George Nunes
Parte 1
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Conteúdo
Arquitetura Máquinas Virtuais Application Frameworks Ambientes de desenvolvimento First App Principais arquivos Acitivity - Ciclo de vida
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Arquitetura Android
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Máquinas Virtuais
Java - Dalvik
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Máquinas Virtuais
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Application Framework
Gerencia o ciclo de vida de aplicações. Responsável por iniciar, parar e retomar as diversas aplicações.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Application Framework
Responsável por renderizar a UI.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Application Framework
Responsável pela instalação e remoção de aplicativos.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Application Framework
Permite a interação com os serviços de telefonia, como sms e mms.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Application Framework
Componente responsável por compartilhar dados entre aplicações.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Application Framework
Gerenciamento de recursos de aplicações – por exemplo, imagens, sons e etc.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Application Framework
Fornece às aplicações os widgets (como botões, listas, etc) e gerencia seu comportamento.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Application Framework
Permite que as aplicações acessem serviços baseados em localização seja por GPS, triangulação de antenas.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Application Framework
Mecanismo de troca de mensagens entre as aplicações.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Ambientes de Desenvolvimento
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
First App
Criar um AVD (Android Virtual Device); Utilizar Dispositivo em porta USB; Acesso feito pelo ADB
File -> new -> Android Application Project
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
First App
Imagem tela de criação de Primeiro App
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
First App
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
First App
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
First App
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
First App
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Principais Arquivos MainActivity.java : código fonte Java. Este
arquivo contém a parte Java da implementação de uma aplicação Android.
BuildConfig.java : classe onde são definidas algumas configurações da construção de um projeto;
R.java : classe onde são mapeadas as constantes de acesso aos recursos de um aplicativo. Mapeamento XML -> Java;
Pasta res : o diretório res é o local onde encontram-se os recursos da nossa aplicação. Dentro deste diretório, existem subdiretórios para cada tipo de recurso;
AndroidManifest.xml : é um arquivo XML onde ficam as configurações necessárias para a execução do aplicativo para Android e é neste arquivo que estarão configurados os componentes da aplicação, como as Activities;
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Support Appcompact – Exemplo
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Activity Uma Activity representa uma tela da aplicação e é
responsável por tratar os eventos gerados nessa tela, como, por exemplo, quando o usuário pressiona um botão ou quando um item de menu é escolhido;
Na prática podemos associar a palavra activity à palavra “tela”;
Uma activity deve herdar da classe android.app.Activity ou alguma subclasse desta;
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Activity - Ciclo de vida
Executando(no topo da pilha); Temporariamente interrompida em segundo plano; Completamente destruída;
O importante é entender que o sistema operacional cuida desse ciclo de vida, mas ao desenvolver aplicações é importante levar cada estado possível em consideração para desenvolver uma aplicação mais robusta;
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Activity - Ciclo de vida
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Chamado quando a activity é criada. Utilizado para fazer todas as funções como criar a View, linkar os dados às listas e etc.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Chamado quando a activity se torna visível ao usuário. Seguido pelo onResume() se a activity roda na frente ou por onStop() se ela se torna invisível.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma Chamado quando a
activity inicia a interação com o usuário. Nesse ponto, nesse ponto a
activity está no topo da pilha de activitys.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Chamado quando uma activity anterior está sendo resumida. Usado para persistir mudanças ainda não efetivadas, parar animações e outros eventos que possam consumir a CPU. Implementações desse método devem ser rápidas devido a próxima activity não ser exibida até que esse método seja finalizado. Seguido por onResume() se a activity voltar para a frente ou onStop() se ela se tornar inivisível ao usuário.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Chamado quando uma activity perde a visibilidade para o usuário, devido outra activity ser resumida e estar na frente desta. Ou seja, ocorre quando outra activity for iniciada ou quando esta activity estiver sendo finalizada. Seguida pelo onRestart() se essa activity estiver voltando para interagir com o usuário ou onDestroy() se a atividade estiver sendo encerrada.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Chamada após a activity ser parada e antes de ser reiniciada. Sempre seguida por onStart().
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma A chamada final que você
receberá antes que a acitivity seja destruída ou finalizada. Isso pode acontecer porque, de fato, a activity está sendo encerrada (alguem chamou o finish() nela) ou porque o sistema está temporariamente destruindo a instância da activity para aumentar o espaço de memória. Você pode distinguir entre esses cenários com o método isFinishing()
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma Running -> onPause() -> onStop()
Activity - Ciclo de vida
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma onCreate() -> onStart() -> onResume()
Running
Activity - Ciclo de vida
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma onPause()
running
onResume ()
Activity - Ciclo de vida
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
onPause() -> onStop() -> onDestroy()
onRestart() -> onStart() -> onResume() - running
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
activity_main.xml
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
MainActivity.java
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Referências LECHETA, Ricardo R. Google Android para Tablets –
Aprenda a desenvolver aplicações para o Android – De smartphones a tablets.1. ed. São Paulo: Novatec Editora, 2012.
GARGENTA, Marko. Learning Android – Bulding Applications for the Android Market.1. ed. Sebastopol: O’ Reilly Media, 2011.
G
eorg
e N
unes
– N
TI G
rupo
Ceu
ma
Próxima etapa
Fragments, Intent, IntentFilter, Estruturação de pacotes, RoboGuice.