Programe seu androide

353 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
353
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Programe seu androide

  1. 1. Seu primeiro aplicativo para AndroidPrograme 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.huO 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 sistemacriado pelo Google em parceria na linguagem Java. operacional, middleware, aplica-com a Open Handset Alliance(OHA). Trata-se de uma aliançapara o telefone celular aberto,composta por mais de 30 empre-sas do mercado de TI que apóiamsoluções de código-fonte aberto,como Samsung, Intel, Motorola,Qualcomm e Telefónica. A OHApretende repetir a estratégia daIBM com a fabricação do PC,composto por partes facilmenteadquiridas no mercado. Essa plataforma funciona comoum sistema operacional como osjá existentes Symbian e Windows®Mobile, com a diferença de serbaseado em Código Aberto. Comisso, qualquer desenvolvedor podecriar aplicativos para a plataformaAndroid. O kit de desenvolvimen- Figura 1 Camadas da plataforma Android.Linux Magazine #43 | Junho de 2008 73
  2. 2. 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
  3. 3. 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 ouoperacional (Windows, Mac OS que se abre ( figura 2 ), digite o editadas para que o resultado sejaX 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 nobaixado (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... dools/ 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 emuladorexport 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 dono 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 menua compatibilidade com as versões principal e, ao abrir a janela de3.2 e 3.3 do IDE. Para iniciar a ins- preferências, selecione a opçãotalaçã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 Browsemenu 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 ADTdiálogo Install , clique no botão já estará instalado e configurado Figura 6 Layout do programa deNew Remote Site... e, na janela corretamente no Eclipse. conversão de câmbio.Linux Magazine #43 | Junho de 2008 75
  4. 4. 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
  5. 5. Google Android | PROGRAMAÇÃOdo primeiro objeto EditText para@+id/dolar” , o do segundo Edit- Exemplo 3: Shell do AndroidText para @+id/real , o do primei- $ adb shellro RadioButton para @+id/dor , o # ls -ldo 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 etcta clicar sobre o botão Generate drwxr-xr-x root root 1970-01-01 00:00 varpara 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 systemjanela 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 tmpnova aplicação (com o Eclipse ou dr-xr-xr-x root root 1970-01-01 00:00 procpelo 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 rootdo arquivo res/layout/main.xml drwxr-xr-x root root 2008-04-14 06:29 devpela estrutura XML gerada peloDroidDraw. 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 o2 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çãobasta executar o programa com muito extenso caso fossem men- de instalação no disco rígido oua opção Run, como mencionado cionadas todas as opções e recur- em um pendrive. O VD_Androidanteriormente. 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ãodesenvolvedor tem à disposição é possível e usa-se o comando adb Para quem deseja ter contato comum aparelho celular emulado, install /caminho/do/aplicativo.apk. o Android, este artigo é um bomcapaz de executar todos os apli- A desinstalação é igualmente fá- ponto de partida. A plataformacativos 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 elelizar 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 comandoaquelas 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 seAndroid, basta executar o comando pode acessar, a partir da shell, com [1] Download da SDK doemulator, que se encontra na pasta o comando: Android: http://code.tools/ do SDK. Por padrão, ele google.com/intl/pt-BR/ android/download.htmltraz 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.tgzem 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 LiveLinux Magazine #43 | Junho de 2008 77

×