O documento descreve o que é o Android e como desenvolver aplicativos para essa plataforma. Explica que o Android é uma pilha de software que inclui sistema operacional, middleware e aplicativos chaves. Também descreve as ferramentas necessárias como JDK, Eclipse, Android SDK e ADT, e os passos para configurar o ambiente de desenvolvimento, como a instalação do ADT no Eclipse. Por fim, apresenta dois exemplos básicos de aplicativos Android: um leitor de MP3 e um mini navegador web.
2. O que é Android
exatamente?
• Android é uma pilha de software que inclui um sistema
operacional, um middleware e aplicações chaves.
• Ele foi projetado com amplo suporte ao
desenvolvimento de aplicativos por parte de terceiros.
• Desenvolvedores que almejem criar aplicativos para
essa plataforma possuem acesso a mesma API utilizada
na criação dos aplicativos nativos do Android. Isso
permite o desenvolvimento de aplicativos bastante
flexíveis e que usam recursos avançados do sistema.
3.
4. Ferramentas utilizadas
• Para o desenvolvimento de aplicações Android
utilizaremos as seguintes ferramentas:
1. JDK (Java Development Kit)
2. Eclipse
3. Android SDK (Android Standard Development Kit)
4. ADT (Android Development Tools) para o Eclipse
5. Instalação do ADT
• Help > Install New Software e em seguida aperte o
botão Add.
• Window > Preferences e depois Android. No
campo SDK Location, deve ser colocado o caminho
onde instalação do Android SDK foi realizada.
6. Visão geral do ambiente
ADT
• O plugin ADT é uma ferramenta de apoio muito
poderosa que permite o controle minucioso de um
dispositivo Android, quer seja ele emulado ou não.
Entre suas funcionalidades, podemos citar:
emulação de GPS, recebimento de chamadas e de
SMS, acesso ao diretório de arquivos e captura de
tela do dispositivo, etc.
7.
8. Download da versão 2.3
• No menu superior do Eclipse, escolha Window >
Android SDK Manager.
• Selecione para instalação os itens Tools e SDK
Platform dentro de Android, e 2.3.3 (API10).
9. Criação de um Virtual
Device
• Window > AVD Manager
• Apete o botão New...
10. Hello World
• Tendo o seu ambiente
de desenvolvimento
configurado, a criação
de um primeiro
aplicativo Android é
bastante simples:
1. Acesse o menu
File > New > Android
Project.
11.
12. • O projeto de sua primeira aplicação
foi criado com sucesso. Agora já é
possível visualizar o projeto no
canto esquerdo da tela.
• Os principais diretórios e arquivos
dessa estrutura são:
• src: Pasta que conterá o código-
fonte Java escrito pelo
desenvolvedor.
• gen: Esse diretório contem código-fonte gerado
automaticamente pelo eclipse.
• res: Diretório onde todos os recursos (imagens, arquivos em
geral, etc...) do aplicativo são armazenados.
• AndroidManifest.xml: Arquivo onde metadados da sua
aplicação serão informados. Aqui vão informações como,
por exemplo, as permissões que o aplicativo necessita do
sistema funcionar corretamente.
13. • Ao abrir o arquivo res > layout > main.xml,
poderemos visualizar o layout da aplicação:
14. Executando a aplicação
1. Click com o
botão direito do
mouse na raiz da
estrutura do
projeto.
2. Selecione Run As
> Android
Application.
15. Activity
• Activity é um tipo de classe do framework Android
que provê uma tela (interface) com a qual o
usuário interage. Comumente essas classes podem
utilizar arquivos XML de layout para definir suas
telas. A maioria das aplicações conterá múltiplas
activities fracamente acopladas, sendo uma a sua
inicial (tela inicial do aplicativo).
16. Activity
• O fluxo comum em um programa se dá a partir de
activities que iniciam novas acitivities. Quando
uma activity é iniciada, a anterior para de
executar e entra em uma pilha. O botão “back”
presente nos dispositivo Android permite que o
usuário seja capaz de voltar activities.
17. Uma nova
activity
• Para criar uma nova
activity, é necessário
implementar uma
subclasse de Activity
e sobrescrever alguns
métodos.
18. Adicionando layout
• Clique com o botão direito do mouse no código-fonte de
sua Activity e selecione Source > Override/Implement
Methods... . Marque o item onCreate(Bundle) e aperte
o botão Ok.
• Agora, dentro do diretório res/layout do projeto, crie
uma copia do arquivo main.xml e renomeie como
mylayout.xml.
• Dentro do método onCreate(), faça uma chamada ao
método setContentView() passando R.layout.mylayout
como parâmetro.
19. Declarando
• Para que a activity seja executada pela aplicação é
necessário declará-la no AndroidManifest.xml.
• O trecho de código abaixo deve ser inserido dentro
da tag <application>:
<activity android:name=”.NomeDaActivityCriada” />
20. Chamando a Activity
• Uma activity pode ser chamada utilizando o
método startActivity()
Intent i = new Intent(this, NomeActivity.class);
startActivity(i);
21.
22. Ciclo de Vida
• Durante a vida de uma activity, muitos eventos
podem ocorrer. Ações do usuário como apertar os
botões “home” e “back”, abrir novas telas
(activities), ou o recebimento de chamadas como
receber uma ligação, etc., geram vários eventos
que podem ser capturados dentro de uma activity.
23.
24. Interface com usuário
• Uma interface de usuário em uma aplicação
Android é um conjunto de objetos do tipo View.
Todo e qualquer componente de interface gráfica é
uma subclasse de View. Por exemplo: EditText,
TextView, Button, LinearLayout, ImageView.
• Em Interfaces de usuário (UI) existem views
chamadas layout. Um layout define como views
que estarão dentro dele serão dispostas.
29. AndroidManifest
• Toda aplicação necessita de um arquivo
AndroidManifest.xml. Esse arquivo contém
informações sobre sua aplicação que o Android
necessita para que seu código seja executado
corretamente e em segurança. Entre as principais
informações que estão ou podem estar presentes
no AndroidManifest.xml, podemos citar:
• Nome do pacote Java da aplicação (serve como
identificador único da aplicação);
30. • Descrição dos componentes que sua aplicação contem
(ex.: activities e services);
• Permissões de usuário que seu aplicativo necessita
para rodar em um dispositivo (ex.: acesso a internet
e localização de usuário);
• Declaração de qual API Android mínima é necessária
para rodar o aplicativo.
31. Aplicações Exemplo
• Mini-Web-Browser
• Mini-Mp3-Player
Projeto hospedado no Google Code.
http://code.google.com/p/mini-web-browser-exemplo
Projeto hospedado no Google Code.
http://code.google.com/p/mini-mp3-player/
33. Mini-Web-Browser
• Estrutura.
• src:Activity e Classes em Geral
• gen: Classe R gerada automaticamente
• assets: Arquivos extras (não temos)
• bin: Classes e Apk compilados
• libs: Bibliotecas no projeto (não temos)
• res/drawable: Imagens em cada resolução
• res/layout: XML das Interfaces
• res/menu: XML dos Menus
• res/values: XML com Strings e Styles
34. Mini-Web-Browser
• Interface:
Nossa interface será composta por:
• Botão Voltar; (id = ibVoltar)
• Botão Home; (id = ibHome)
• Botão Ir; (id = ibIR)
• Editor de Texto URL; (id = etURL)
• WebView; (id = browser)
38. • Activity
• Adicionado
variáveis de
referência dos
componentes,
configurações da
activity no
onCreate e
método de
configuração dos
componentes.
• Mas ainda esta
faltando a classe
MyWebViewClien
te()
39. Mini-Web-Browser
• Activity
• Aqui temos a classe MyWebViewCliente que é
responsável por gerenciar o componente WebView e
nela implementamos uma ação para ocorrer após a
página ser carregada.
41. Mini-Web-Browser
• Listener
• Adicionamos uma constante URL_INICIAL e
implementaremos a interface OnKeyListener para
gerenciarmos com o ENTER no campo de texto o
carregamento da página.
42. Mini-Web-Browser
• Listener
• O método sobrescrito onKey é chamado toda vez
que digitamos algo no campo de texto. Então
verificamos se foi um ENTER e se foi, mandamos
carregar a URL digitada.
43. Mini-Web-Browser
• Permissão
• Por fim, falta
somente darmos
permissão para
o aplicativo
acessar a
internet. Basta
inserir o
comando no
arquivo
androidManifest
.xml.
45. Aplicações Exemplo
• Mini-Web-Browser
• Mini-Mp3-Player
Projeto hospedado no Google Code.
http://code.google.com/p/mini-web-browser-exemplo
Projeto hospedado no Google Code.
http://code.google.com/p/mini-mp3-player/
47. Mini-Mp3-Player
• Estrutura.
• src: Activity e Classes em Geral
• gen: Classe R gerada automaticamente
• assets:Arquivos extras (não temos)
• bin: Classes e Apk compilados
• libs: Bibliotecas no projeto (não temos)
• res/drawable: Imagens em cada resolução
• res/layout: XML das Interfaces
• res/menu: XML dos Menus
• res/values: XML com Strings e Styles
48. Mini-Mp3-Player
• InterfaceInterface.
Nossa interface será composta por:
• Texto MusicaAtual; (id =
txMusicaAtual)
• Botão Anterior; (id = ibAnterior)
• Botão Play; (id = ibPlay)
• Botão Pause; (id = ibPause)
• Botão Stop; (id = ibStop)
• Botão Proxima; (id = ibProxima)
• ListView list; (id = @android:id/list)
53. Mini-Mp3-Player
• Activity
• Para termos o gerenciamento automático da Lista,
estendemos nossa activity de ListActivity.
• E Sobre-escrevemos o método onListItemClick() para
tomarmos uma ação quando um item for selecionado.
57. Mini-Mp3-Player
• Classe Filtro Mp3
• Adicionamos uma constante URL_INICIAL e
implementaremos a interface OnKeyListener para
gerenciarmos com o ENTER no campo de texto o
carregamento da página.