O documento fornece uma introdução ao desenvolvimento para Android, abordando os principais tópicos como:
1) Ambiente de desenvolvimento, incluindo download de ferramentas como Android SDK, SDK Manager, AVD Manager e Eclipse ADT Plugin;
2) Conceitos básicos como requisitos de hardware e software, APIs, emulador e depuração com ADB e DDMS;
3) Detalhamento de ferramentas como SDK Manager para baixar APIs, AVD Manager para criar dispositivos virtuais e emulador.
2. Ementa
1. Introdução ao Android
2. Ambiente de desenvolvimento
3. Conceitos básicos
4. Application, Activities e Fragments
5. Intents e Broadcast Receivers
6. Views e Layout Managers
7. Persistência de dados e Content Providers
8. Arquivos, estados e Shared Preferences
2
3. Ementa
Ambiente de desenvolvimento
Requisitos mínimos e recomendações
Download das ferramentas
Android SDK e SDK Manager
AVD - Android Virtual Device Manager
Emulador
ADB - Android Debug Bridge
DDMS - Dalvik Debug Monitor Server
ADT - Android Development Tools - Eclipse
3
4. Requisitos
Mínimo de hardware
Dual core com 2Ghz por núcleo e 2Gb de memória
Mínimo de software
Windows desde o XP tá valendo, 32 ou 64 bits
Mac OS X 10.5 (Leopard) ou superior
Linux - só testaram no Ubuntu, mas é possível em outras
distribuições que contenham glibc 2.7+
Java JDK 6, só o JRE não é suficiente
Mínimo de peopleware
Um desenvolvedor relativamente “safo” em Java
4
5. Recomendações
Tenha um hardware melhor do que o mínimo sugerido
O Eclipse e principalmente o emulador do Android consomem
muitos recursos
Tenha uma boa Internet
Você vai precisar baixar as versões da API referentes a cada
versão do Android que deseja suportar em sua aplicação
Por exemplo: API 17 para o Jelly Bean 4.2
Tenha ao menos um dispositivo físico para testar
Por melhor que seja o emulador, nada substitui a dinâmica real
Empresas normalmente dispõem de vários dispositivos para
testes
5
6. Download das ferramentas
ADT Bundle
http://developer.android.com/sdk/index.html
Pacote com todas as ferramentas necessárias:
Eclipse + ADT Plugin
Android SDK Tools
Android Platform-tools
API mais atual (neste momento, a API 17)
Imagem da versão nova para o Emulador
Downloads individuais
Falaremos sobre este processo aqui, embora o anterior facilite
bastante os passos
6
8. Android SDK
Kit fundamental para desenvolvimento para Android
A partir dele várias coisas podem ser baixadas, sem ele você
não tem pra onde ir
Ao descompactar o arquivo android-sdk_r21.0.1-
macosx.zip você verá os seguintes diretórios:
Obs: Caso sua versão seja mais nova, alguma coisa pode estar diferente
add-ons: Local onde serão salvos arquivos extras e
contibuições de terceiros quando baixarmos as APIs
platforms: Local onde serão salvas as APIs
tools: Local com os executáveis e arquivos auxiliares das
ferramentas já fornecidas pelo SDK.
tools/android: Principal executável do SDK
8
9. Android SDK Manager
Digite*:
$ ./android ou
$ ./android sdk
Digite
$ ./android --help
Para um
detalhamento dos
comandos possíveis
* Considerando em terminal já estando no diretório tools da instalação do SDK em
ambiente Linux ou Mac OS X
No Windows, o executável é SDK Manager.exe
9
10. SDK Manager e APIs
Cada API é como um “JRE” de cada versão Android
O que baixar?
Tools -> Android SDK Platform-tools
Contém ferramentas dependentes de plataforma utilizadas
durante o desenvolvimento dos projetos
Uma SDK Platform da mesma API
Será salva em platforms/android-17 (17 é o número da versão da
API)
Ao menos uma imagem de sistema (imagem do kernel do S.O.)
Ex.: ARM EABI v7a System Image da API 17
Será criada a pasta system-images
Uma pasta temp é criada após o início do primeiro download que você fizer
10
11. SDK Manager e APIs
O que baixar?
Google APIs
API equivalente à de cada versão padrão do Android, mas que
carregue serviços exclusivos do Google como o Google Maps
Android Support Library
Pacote extra instalado para ser utilizado em projetos em que se
queira portar recursos mais recentes como os Fragments do
Honeycomb ou o Grid Layout do ICS para versões mais antigas
Documentation, Samples e Sources
Documentações e exemplos são importantes ajudas. Códigos-
fontes trazem essa ajuda para o momento da codificação
Extras do Google Play Store
Pacotes extras úteis para integração com o Google Play Store
11
12. Android AVD Manager
Android Virtual Device Manager
É o gestor de máquinas virtuais para execução do emulador
Para chamá-lo, digite:
$ ./android avd
Vá ao botão New
para abrir o wizard
de criação de novo
dispositivo
12
13. AVD Manager
- Nome do dispositivo a emular
- Presets de resolução e memória de
acordo com dispositivos conhecidos
- API alvo do dispositivo a emular
- Kernel alvo do dispositivo a emular
- Quando não marcado o emulador
exibe o teclado virtual em campos de
input
- Exibe uma área ao lado da tela do
emulador com botões que possam
existir fisicamente no dispositivo
13
14. AVD Manager
- Como será a emulação das
câmeras deste dispositivo.
- Tamanho da memória RAM e da
alocação de memória heap por
aplicação
- Tamanho da memória interna
- Tamanho do cartão de memória
ou um arquivo físico da máquina
onde os dados do emulador serão
salvos
- Opções para otimizar o tempo de
carregamento do emulador.
Snapshot salva um arquivo com a
situação da memória desde a última
vez que foi aberto.
Host GPU utiliza a GPU para acelerar
o processo
14
15. Device Definitions
O AVD Manager já traz alguns presets de
dispositivos, mas, desde o SDK Tools 21 existe uma
janela para auxiliar na criação e nomeação de novos
Antes, os presets só
eram manipulados
através de arquivos
na pasta:
platforms/android-XX
/skins
Na tela ao lado, clique
em New Device
Veja que já criamos um
preset dentro das
características do
Samsung Galaxy S3
15
16. Novo device preset
Defina o nome, o tamanho da tela (em polegadas), a
resolução, sensores e as câmeras disponíveis, se há
teclado físico ou navegação por dpad ou trackball
O lado direito é
atualizado
dinamicamente
Você pode clicar em
Create Device, voltar
à tela anterior, confe-
rir o preset criado e
clicar em
Create AVD...
16
17. Emulador
Ao clicar em Start no AVD Manager, será apresentada
uma janela com opções de configuração
Marque Wipe user
data para limpar as
modificações desde
a última abertura do
emulador
Launch from snapshot
e Save to snapshot
só estão disponíveis
em AVDs com esta
opção ligada
17
18. Emulador
Janelas do emulador tendem a ter o mesmo tamanho,
mas você pode escalar a um tamanho específico em
polegadas
Clique em scale display
to real size
Escolha o tamanho que
deseja abrir
Informe a densidade do
seu monitor.
Caso não saiba, clique
na interrogação para
abrir um diálogo com o
tamanho da tela e a
resolução
18
19. Emulador
Cada API vai apresentar
uma cara diferente
Dica: Inicie sempre que
possível o emulador, mas
não encerre
Ele é lento para iniciar e é
possível desligar o
dispositivo sem desligar o
emulador
19
20. Emulador
Dicas:
Teclas de atalho:
Alt + Enter - Entrar/sair do fullscreen
Esc - Back e Home - Home
F7 - Botão power
CTRL + F11 (+Fn, no mac) - Modo retrato/paisagem
É possível iniciar o emulador diretamente em linha de comando:
emulator -avd <avd_name> [-<option> [<value>]] ... [-<qemu
args>]
./emulator -avd MeuDeviceJoinha ou
./emulator @MeuDeviceJoinha
http://developer.android.com/tools/help/emulator.html
20
21. adb - Android Debug Bridge
Umas das ferramentas do platform-tools que
baixamos através do SDK Manager. É composta de:
Um cliente que roda na máquina de desenvolvimento. Inicia
(ou pega) uma instância do servidor
Um servidor que roda na porta TCP 5037 da máquina de
desenvolvimento. Scaneia as portas ímpares entre 5555 e 5585
das plataformas alvo conectadas
Cada dispositivo ou emulador ligado vai abrir uma porta para
depuração
Portas pares são associadas ao terminal deles
Um servidor que roda em background (daemon) em cada
instância ligada do emulador ou dispositivo físico.
Os aparelhos precisam estar em modo de Depuração Usb para
isso acontecer. Vamos realizar essa prática mais à frente
21
22. adb - Android Debug Bridge
É através deles que é possível realizar operações remotamente
em dispositivos ou emuladores. As operações podem ser:
Depuração da execução de um aplicativo
Instalação de um aplicativo no servidor
Operações de baixo nível como overclocks
Acessar sistema de arquivo e backups
Acompanhar logs gerados pelos aplicativos
Prompt de comandos de shell dentro do dispositivo. Ex. (branco é
comando, amarelo retorno de tela):
platform-tools$ ./adb devices - listando dispositivos plugados
emulador5554 device - só havia um emulador ligado
platform-tools$ ./adb shell - entrando no shell do emulador
root@android:/ # - no emulador, somos root
22
23. Dalvik Debug Monitor Server
DDMS - Dalvik Debug Monitor Server
No Android, cada aplicação roda em seu próprio processo da
VM (Dalvik) e cada VM expõe uma porta para o depurador se
conectar
O DDMS chama a adb que é quem estabelece esta conexão e
fica checando o status de cada processo das VMs do
dispositivo. O DDMS cria uma porta para conectar a cada VM.
A primeira porta aberta com a primeira VM é a 8600 e as
demais seguem a sequência 8601, 8602, etc.
23
25. Dalvik Debug Monitor Server
Device panel
Lista todos os processos
permitidos dos
dispositivos
24
26. Dalvik Debug Monitor Server
Painel de funcionalidades
Exibem as mais variadas ferramentas
Device panel de monitoramento
Lista todos os processos Inclui ainda uma aba Emulator para
permitidos dos emular situação como recebimendo
dispositivos de ligação
24
27. Dalvik Debug Monitor Server
Painel de funcionalidades
Exibem as mais variadas ferramentas
Device panel de monitoramento
Lista todos os processos Inclui ainda uma aba Emulator para
permitidos dos emular situação como recebimendo
dispositivos de ligação
Logcat
Console onde é possível conferir todas as mensagens
geradas pelos processo selecionado no Device panel
24
28. Android Development Tools
O ADT é um plugin para o Eclipse para que você
possa fazer tudo sem sair da IDE
Pré-requisitos da versão 21.0.1 de (dezembro de 2012):
Java 1.6
No mínimo, o Eclipse Helios (3.6.2)
Pode ser o pacote Eclipse IDE for Java Developers (~150Mb)
Vamos trabalhar aqui com o Eclipse 4.2.1 Juno
Android SDK Tools 21.0.1
25
29. Android Development Tools
2º - Em Work with digite:
https://dl-ssl.google.com/android/eclipse/
Clique em Add para registrar este endereço
1º - help -> Install New
Software
Abre uma janela para
definir o local onde
baixar o ADT
26
30. Android Development Tools
Marque o Developer Tools
O NDK Plugins está fora de nosso
escopo
Next >
27
35. Android Development Tools
Ainda não sabe onde está o SDK
Você pode optar por instalação nova
ou marcar Use Existing SDKs e
selecionar o diretório onde ele está
Vamos optar aqui pela segunda via.
Nós ja temos o SDK!
32
36. Android Development Tools
Foram gerados dois novos botões na barra:
Android SDK Manager
Android Virtual Device Manager
Em preferências, é possível definir várias configurações
sobre o Android como o caminho pro SDK
33
37. Perspectiva DDMS
2. Selecione a
perspectiva DDMS 1. Clique aqui,
depois em Other
34
38. Perspectiva DDMS
Perspectiva DDMS
O ADT simplifica a chamada ao DDMS
criando uma perspectiva para exibi-lo
35