KGROUND-COLOR: #ffff00">Esse artigo faz parte da revista Java Magazine edição 53. Clique aqui para ler todos os artigos desta edição.

NG>Wireless Update

Android vai de Java

Conheça e aprenda a desenvolver uma aplicação para o Android, a nova e aberta plataforma para celulares.

 

Em novembro deste ano, foi anunciada a criação da Open Handset Alliance, um grupo com mais de trinta empresas que tem o objetivo de construir uma plataforma aberta, nova e mais rica para aparelhos celulares. O grupo inclui operadoras de telefonia, fabricantes de chips e de celulares e empresas de software. Participam, entre outras empresas, Google (na liderança), T-Mobile, Telefonica, TIM, LG, Motorola, Samsung, Intel e NVidia.

Essa aliança disponibilizou a plataforma Android (também chamada de Google Android), que inclui um sistema operacional, aplicações intermediárias e serviços-chave para celulares, como agenda, envio/recepção de SMS, browser web e gerenciamento de ligações telefônicas. O sistema operacional da plataforma é baseado na versão 2.6 do kernel do Linux e atua como uma camada de abstração entre o hardware e o resto da pilha (stack) de softwares (veja a Figura 1).

 

Figura 1. A arquitetura do Android

 

A máquina virtual do Android foi desenvolvida pela Google e é chamada Dalvik. É diferente da JVM que conhecemos, pois não executa arquivos .class e sim .dex (Dalvik Executable). Uma característica importante deste formato é ser otimizado para menor uso de memória. A VM Dalvik executa classes compiladas pelo compilador do Java, que são transformadas para o formato .dex. Foi criada de forma que o dispositivo possa executar múltiplas máquinas virtuais eficientemente.

É importante destacar que o Android não é compatível com nenhuma das plataformas ME, SE ou EE. Trata-se, na verdade, de uma variante que suporta várias partes do Java, como a sintaxe da linguagem, o modelo de segurança e algumas APIs (sendo estas complementadas pelas APIs android.*). Isso torna o Android familiar e fácil de dominar para milhões de desenvolvedores Java, os quais basicamente só precisarão aprender algumas novas APIs e ferramentas.

O Android é altamente compatível com código e bibliotecas Java preexistentes (desde, é claro, que estas não utilizem APIs Java SE/ME não disponíveis no Android). Mesmo o uso de um formato binário diferente (.dex) não é grande problema, pois arquivos JAR podem ser convertidos em .dex.

O Google disponibiliza um kit de desenvolvimento (SDK) completo para o Android, o qual inclui um emulador e um plug-in para o Eclipse. O SDK está disponível para Windows, Linux e Mac OS X.

 

Preparando o ambiente

Na área de downloads do site da plataforma (code.google.com/android/download.html) faça o download do SDK para a versão do seu sistema operacional e descompacte o arquivo num local de sua preferência. Feito isso, é necessário adicionar o diretório das ferramentas do SDK (subdiretório tools) na variável de ambiente PATH.

O próximo passo é instalar o plug-in do Android para o Eclipse. A versão do IDE pode ser a 3.2 ou a 3.3. Também é necessário ter o JDK 5 ou 6 instalado. Inicie o Eclipse e chame Help>Software Updates>Find and Install. Na janela que aparecerá escolha o item Search for new features to install e clique em Next. Clique em New Remote Site e no campo Name insira um nome para identificar o site de atualizações (ex. “Plug-in Android”). No campo URL inclua o endereço “https://dl-ssl.google.com/android/eclipse. Clique em OK, e a lista será atualizada com o novo item (que já deverá estar marcado).

Você já pode clicar em Finish. O Eclipse irá baixar o plug-in e instalá-lo após as confirmações de praxe. Depois de reiniciar o Eclipse, chame Window>Preferences. Localize o Android no painel da esquerda e no campo SDK Location forneça o diretório onde foi descompactado o SDK. Termine a configuração clicando em Apply e depois em OK.

 

Desenvolvendo uma aplicação

Tendo configurado o ambiente, vamos agora criar uma aplicação para entender melhor o plug-in e a arquitetura do Android. Criaremos um conversor de medidas, no qual podemos transformar valores entre metros, jardas e pés.

A aplicação terá apenas uma tela. Nela o a unidade de entrada será indicada em um componente android.widget.Spinner. O valor de entrada será fornecido em um ...

Quer ler esse conteúdo completo? Tenha acesso completo