Vous êtes sur la page 1sur 5

Seu primeiro aplicativo para Android

Programe seu andróide

PROGRAMAÇÃO
A plataforma Android, do Google, vai equipar com tecnologia de ponta diversos
aparelhos celulares. Veja como é fácil começar a programar aplicativos nela.
por Alessandro de Oliveira Faria

Jean Scheijen – www.sxc.hu

O
Android é uma plata- to do Android provê ferramentas e Em outras palavras, trata-se de
forma de código aberto chamadas via APIs para o desen- um pacote com programas para
para dispositivos portáteis volvimento de aplicativos baseados celulares, já com um sistema
criado pelo Google em parceria na linguagem Java. operacional, middleware, aplica-
com a Open Handset Alliance
(OHA). Trata-se de uma aliança
para o telefone celular aberto,
composta por mais de 30 empre-
sas do mercado de TI que apóiam
soluções de código-fonte aberto,
como Samsung, Intel, Motorola,
Qualcomm e Telefónica. A OHA
pretende repetir a estratégia da
IBM com a fabricação do PC,
composto por partes facilmente
adquiridas no mercado.
Essa plataforma funciona como
um sistema operacional como os
já existentes Symbian e Windows®
Mobile, com a diferença de ser
baseado em Código Aberto. Com
isso, qualquer desenvolvedor pode
criar aplicativos para a plataforma
Android. O kit de desenvolvimen- Figura 1 Camadas da plataforma Android.

Linux Magazine #43 | Junho de 2008 73


PROGRAMAÇÃO | Google Android

Arquitetura SQLite. Todos esses recursos estão


A arquitetura do Android é di- disponíveis no framework para o
vidida em cinco camadas, orga- desenvolvimento de aplicativos.
nizadas como mostra a figura 1 : A pequena camada do ambien-
kernel Linux, bibliotecas, am- te de execução ( Android Runti-
biente de execução, framework me , na figura 1 ) é uma instância
Figura 2 Especificação do site para e aplicativo. da máquina virtual Dalvik cria-
o plugin
A camada do kernel Linux é da para cada aplicação executa-
composta pelo kernel 2.6 e se da no Android. A Dalvik é uma
tivos e interface de usuário. Tais responsabiliza pelos serviços, se- máquina virtual com melhor
recursos permitirão que o Goo- gurança, gerenciamento de me- desempenho, maior integração
gle e outras empresas ofereçam mória e processos, rede e drivers. com a nova geração de hardware
recursos mais ricos aos usuários Essa camada também é respon- e projetada para executar várias
que se encontram distantes de um sável pela abstração do hardware máquinas virtuais paralelamen-
computador de mesa. do dispositivo. te. Além disso, é otimizada para
Os principais recursos dessa A segunda camada, a de biblio- consumo mínimo de memória,
plataforma móvel são a máquina tecas, carrega consigo um conjunto bateria e CPU.
virtual otimizada, o navegador de bibliotecas C/C++ utilizadas pelo Sobre essas camadas, localiza-se
integrado, a biblioteca 2D e 3D, sistema. Estão incluídas nesse con- a camada do framework (Applica-
o banco SQLite e o plugin para o junto a biblioteca C padrão (Libc) tion Framework, na figura 1). Nela,
Eclipse, chamado ADT. e também aquelas das áreas de encontramos todas as APIs e os re-
multimídia, vi- cursos utilizados pelos aplicativos,
sualização de ca- com classes visuais como botões e
madas 2D e 3D, views, provedor de conteúdo (tro-
funções para na- ca de recursos entre aplicativos)
vegadores web, e gerenciadores de recursos, de
funções para notificação e de pacotes.
gráficos, funções Acima de todas as outras cama-
de aceleração de das está a de aplicativos, na qual
hardware, ren- se encontram todos os aplicativos
derização 3D, (escritos em Java) do Android, como
fontes bitmap cliente de email, navegador web,
e vetorizadas contatos e outros. Isso significa que,
e funções de para desenvolver programas para
Figura 3 Seleção do novo site. acesso ao banco a plataforma Android, vamos criar
os aplicativos em Java na máquina
virtual Dalvik.
Exemplo 1: Código do projeto HelloAndroid
01 package com.android.hello; Instalação e
02
03 import android.app.Activity; configuração
04 import android.os.Bundle; Para instalarmos o Android, pri-
05 import android.widget.TextView;
meiramente devemos efetuar o
06
07 public class HelloAndroid extends Activity { download do ambiente de de-
08 /** Called when the activity is first created. */ senvolvimento ( Android SDK )
09 @Override em [1] . Antes de baixar o ar-
10 public void onCreate(Bundle icicle) {
11 super.onCreate(icicle); quivo, é necessário clicar em
12 TextView tv = new TextView(this); “ I agree to the terms of the SDK
13 tv.setText(“Ola Mundo - Linux Magazine!”); License ” para aceitar os termos
14 setContentView(tv); da licença do SDK. Logo em se-
15 }
16 } guida, deve-se selecionar o pa-
cote correspondente ao sistema

74 http://www.linuxmagazine.com.br
Google Android | PROGRAMAÇÃO

Olá, mundo
Vamos agora criar nosso primeiro
aplicativo para o Android usando
o Eclipse. Para isso, selecione a
opção File no menu principal,
depois a opção New e, logo após
clique em Project . Em seguida,
selecione o item Android Project
e clique no botão Next.
Na janela de diálogo do proje-
to, digite os nomes do projeto, do
pacote, da classe e da aplicação.
Selecione as opções Create new
project in workspace e Use default
location, clicando no botão Finish,
ao final. Se tudo estiver funcio-
nando corretamente, um código
semelhante ao do exemplo 1 será
Figura 4 Preparação para execução do novo programa. criado no projeto HelloAndroid,
exceto pelas linhas 5, 12, 13 e 14,
que devem ser acrescentadas ou
operacional (Windows, Mac OS que se abre ( figura 2 ), digite o editadas para que o resultado seja
X ou Linux). endereço https://dl-ssl.google. semelhante a ele.
Após descompactar o arquivo com/android/eclipse/ para insta- Para executar o programa no
baixado (formato ZIP ), é reco- lação do plugin e digite o nome emulador do Android, basta se-
mendável acrescentar a pasta to- que desejar ( Android Plugin, na lecionar o item Run | Run... do
ols/ criada no processo à variável figura 2 ), confirmando , em se- menu principal. Na janela de diá-
$PATH, acrescentando ao arquivo guida, com o botão OK . logo (figura 4), selecione o projeto
~/.bashrc a linha: Por último, basta selecionar o para execução e clique nos botões
novo site (figura 3) e clicar em Fi- Apply e Run. Assim, o emulador
export PATH=${PATH}:/pasta/de/ nish, confirmando a instalação do
➥instalação/tools plugin (que não é assinado – não
precisa entrar em pânico) com
Install All . Ao concluir a instala-
Plugin ADT ção, reinicie o Eclipse.
O plugin Eclipse para desenvolvi- Após a reinicialização do Eclip-
mento de aplicativos para o Android se, atualize ou configure a lo- Figura 5 Resultado da execução do
no IDE Eclipse se chama Android calização do Android SDK no programa de teste.
Development Tools, ou ADT. Na plugin ADT do Eclipse. Selecio-
página do Android é mencionada ne o item “Windows” no menu
a compatibilidade com as versões principal e, ao abrir a janela de
3.2 e 3.3 do IDE. Para iniciar a ins- preferências, selecione a opção
talação do ADT, inicie o Eclipse Android no painel da esquerda,
e selecione o item Help | Software informando a localização do An-
Updates | Find and Install... no droid SDK com o botão Browse
menu principal. no campo SDK Location . Para
Na janela de diálogo Install/ finalizar, pressione o botão Ap-
Update , selecione o item Search ply e, depois, OK .
for new features to install e pres- Se tudo aconteceu como mostra-
sione o botão Next . Na janela de do até esse ponto, o plugin do ADT
diálogo Install , clique no botão já estará instalado e configurado Figura 6 Layout do programa de
New Remote Site... e, na janela corretamente no Eclipse. conversão de câmbio.

Linux Magazine #43 | Junho de 2008 75


PROGRAMAÇÃO | Google Android

será iniciado, nos permitindo ver mado activityCreator.py. O comando Partindo do princípio de que o
esse primeiro programa em ação adequado, nesse caso, seria: Apache Ant esteja instalado corre-
no Android (figura 5). tamente, basta executar o coman-
activityCreator.py --out do ant para compilar o programa
Sem Eclipse? ➥HelloAndroid com.android.hello. HelloAndroid.
Também é possível escrever apli- ➥HelloAndroid
cativos para o Android sem usar o
Eclipse, recorrendo apenas à linha de Em seguida, acesse a pasta Hello- Layout
comando. Para isso, o Android SDK Android/ (criada pelo script), onde No mundo dos aplicativos embar-
traz um script escrito em Python cha- se encontra-se o arquivo build.xml. cados, a aparência tem uma im-
portância ainda maior sobre
a usabilidade. O DroidDraw
é um editor de layout escri-
Exemplo 2: Aplicativo de câmbio to em Java que possibilita a
package com.android.lm; montagem de interfaces grá-
ficas e sua gravação em um
import android.app.Activity; arquivo XML para posterior
import android.os.Bundle;
import android.view.View; utilização no aplicativo. Essa
import android.view.View.OnClickListener; ferramenta é muito útil para
import android.widget.Button; acelerar o desenvolvimento
import android.widget.RadioButton; de aplicativos na plataforma
import android.widget.TextView;
Android.
public class HelloLM extends Activity { O DroidDraw pode ser usa-
TextView dolar; do online[2] ou baixado a par-
TextView real;
RadioButton dtor;
tir do site [3]. Para instalá-lo,
RadioButton rtod; basta descompactar o arquivo
Button convert; baixado, entrar no diretório
criado por ele e executar o
/** Called when the activity is first created. */
@Override script droiddraw.sh.
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
dolar = (TextView)this.findViewById(R.id.dolar);
Câmbio
real = (TextView)this.findViewById(R.id.real); Para explorar o DroidDraw,
dtor = (RadioButton)this.findViewById(R.id.dtor); vamos criar um aplicativo
dtor.setChecked(true); para conversão de valores em
rtod = (RadioButton)this.findViewById(R.id.rtod);
reais para dólares.
convert = (Button)this.findViewById(R.id.convert); Após iniciar o programa, o
convert.setOnClickListener(new Button.OnClickListener() { primeiro passo é selecionar a
public void onClick(View v) { aba Layouts e, em seguida, o
if (dtor.isChecked()) {
convertDolarToReal(); componente LinearLayout.
} Na aba Properties, altere a
if (rtod.isChecked()) { dimensão para 200 pixels de
convertRealToDolar();
largura e 130 de altura, pres-
}
}}); sionando o botão Apply logo
} em seguida. Depois, na aba
protected void convertDolarToReal() { Widgets, arraste dois objetos
double val = Double.parseDouble(dolar.getText().toString());
real.setText(Double.toString(val*1.8)); TextView, dois EditText, dois
} RadioButton e um Button para
protected void convertRealToDolar() { a área da interface e crie um
double val = Double.parseDouble(real.getText().toString()); layout como na figura 6.
dolar.setText(Double.toString(val/1.8));
} Novamente na aba Pro-
perties, altere o campo id

76 http://www.linuxmagazine.com.br
Google Android | PROGRAMAÇÃO

do primeiro objeto EditText para


@+id/dolar” , o do segundo Edit- Exemplo 3: Shell do Android
Text para @+id/real , o do primei- $ adb shell
ro RadioButton para @+id/dor , o # ls -l
do segundo RadioButton para drw-rw-rw- root root 2008-04-14 06:29 cache
drwxr-xr-x root root 2008-04-14 06:29 d
@+id/rtod e o do Button para
-rwxr-xr-x root root 91952 1970-01-01 00:00 init
@+id/convert . Depois disso, bas- drwxr-xr-x root root 1970-01-01 00:00 etc
ta clicar sobre o botão Generate drwxr-xr-x root root 1970-01-01 00:00 var
para criar o arquivo do layout na drwxrwx--x system system 2007-11-11 20:59 data
drwxr-xr-x root root 2008-02-29 01:19 system
janela Output. drwxr-xr-x root root 1970-01-01 00:00 sys
Com o layout gerado, crie uma drwxrwxrwt root root 2008-04-14 06:49 tmp
nova aplicação (com o Eclipse ou dr-xr-xr-x root root 1970-01-01 00:00 proc
pelo script) e substitua o conteúdo drwxr-xr-x root root 1970-01-01 00:00 sbin
drwx–– root root 1970-01-01 00:00 root
do arquivo res/layout/main.xml drwxr-xr-x root root 2008-04-14 06:29 dev
pela estrutura XML gerada pelo
DroidDraw. Depois, na pasta src,
localize o arquivo nome-da-classe. Depuração CD que já traz o SDK instalado,
java e insira o código do exemplo O ADB, ou Android Debug Brid- assim como o IDE Eclipse e o
2 no arquivo fonte. Para visualizar ge, é um gerenciador de depura- aplicativo DroidDraw. A distri-
o aplicativo em funcionamento, ção poderoso. Este artigo ficaria buição oferece ainda a opção
basta executar o programa com muito extenso caso fossem men- de instalação no disco rígido ou
a opção Run, como mencionado cionadas todas as opções e recur- em um pendrive. O VD_Android
anteriormente. sos disponíveis na ferramenta; por é baseado no Debian Lenny e
isso, serão abordadas apenas suas utiliza como ambiente desktop
funções principais. padrão o Xfce4.
Emulador Para listar os emuladores disponí-
O Android SDK traz ainda um veis, usa-se o comando adb devices.
prático emulador. Com ele, o A instalação de aplicativos também Conclusão
desenvolvedor tem à disposição é possível e usa-se o comando adb Para quem deseja ter contato com
um aparelho celular emulado, install /caminho/do/aplicativo.apk. o Android, este artigo é um bom
capaz de executar todos os apli- A desinstalação é igualmente fá- ponto de partida. A plataforma
cativos desenvolvidos para a pla- cil, pois requer apenas o comando Android é poderosa e, como se vê,
taforma. Isso é ótimo para rea- adb shell rm data/app/aplicativo. fácil de usar. Esperamos que ele
lizar testes sem um dispositivo apk. Como esse último comando ajude a iniciar uma longa cami-
físico. Todas as funções de um leva a crer, é possível acessar uma nhada de aprendizado. ■
celular estão disponíveis, exceto shell do Android com o comando
aquelas relacionadas a chamadas adb shell ( exemplo 3 ).
telefônicas. O Android tem, embutido, um
Mais informações
Para executar o emulador do banco de dados SQLite, que se
Android, basta executar o comando pode acessar, a partir da shell, com [1] Download da SDK do
emulator, que se encontra na pasta o comando: Android: http://code.
tools/ do SDK. Por padrão, ele google.com/intl/pt-BR/
android/download.html
traz quatro “temas”, chamados de # sqlite3 /data/data/com.
skins. O que muda entre os skins é ➥example. [2] DroidDraw online: http://
apenas a resolução da tela. Há as google.rss.rssexample/databases/ www.droiddraw.org/
opções QVGA (320x240) e HVGA ➥ rssitems.db
[3] Download do DroidDraw:
(480x320), nas orientações paisa- Ao vivo http://droiddraw.
gem (sufixo L) e retrato (sufixo googlecode.com/files/
P). Para usar a resolução HVGA Quem desejar poupar esforços droiddraw-r1b8.tgz
em formato paisagem, basta ini- de instalação do Android SDK [4] VD_Android: http://
ciar o emulador com o parâmetro pode recorrer ao VD_Android [4], tinyurl.com/6z2c3v
-skin HVGA-L. uma distribuição Linux em Live

Linux Magazine #43 | Junho de 2008 77

Vous aimerez peut-être aussi