Anúncio
Programe seu androide
Programe seu androide
Programe seu androide
Programe seu androide
Anúncio
Programe seu androide
Próximos SlideShares
Plataforma AndroidPlataforma Android
Carregando em ... 3
1 de 5
Anúncio

Mais conteúdo relacionado

Anúncio

Programe seu androide

  1. 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
  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. 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
  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. 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
Anúncio