SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android Fundação Vanzolini
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao androidPaulo Remoli
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao AndroidBruno Lui
 
27072010221224.introdução a java aula 1
27072010221224.introdução a java   aula 127072010221224.introdução a java   aula 1
27072010221224.introdução a java aula 1bibliotecadobarao
 
Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Gustavo Zimmermann
 
Dispositivos Móveis - BlackBerry
Dispositivos Móveis - BlackBerryDispositivos Móveis - BlackBerry
Dispositivos Móveis - BlackBerryValdir Junior
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Tchelinux
 
Arquitetura De Ap Is GráFicas Do Java Dtv Lwuit E Dtv Ui
Arquitetura De Ap Is GráFicas Do Java Dtv   Lwuit E Dtv UiArquitetura De Ap Is GráFicas Do Java Dtv   Lwuit E Dtv Ui
Arquitetura De Ap Is GráFicas Do Java Dtv Lwuit E Dtv UiErisvaldo Junior
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rqKMILT
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1Kalil Maciel
 

Tendances (18)

Android
AndroidAndroid
Android
 
PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao android
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
27072010221224.introdução a java aula 1
27072010221224.introdução a java   aula 127072010221224.introdução a java   aula 1
27072010221224.introdução a java aula 1
 
Android
AndroidAndroid
Android
 
Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01
 
Android
Android Android
Android
 
Dispositivos Móveis - BlackBerry
Dispositivos Móveis - BlackBerryDispositivos Móveis - BlackBerry
Dispositivos Móveis - BlackBerry
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
Arquitetura De Ap Is GráFicas Do Java Dtv Lwuit E Dtv Ui
Arquitetura De Ap Is GráFicas Do Java Dtv   Lwuit E Dtv UiArquitetura De Ap Is GráFicas Do Java Dtv   Lwuit E Dtv Ui
Arquitetura De Ap Is GráFicas Do Java Dtv Lwuit E Dtv Ui
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rq
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1
 
Google android pdf
Google android pdfGoogle android pdf
Google android pdf
 
Oficina Sesc Android - V1
Oficina Sesc Android - V1Oficina Sesc Android - V1
Oficina Sesc Android - V1
 

En vedette

Влияние инноваций в информационных технологиях на систему образования как ф...
Влияние инноваций в информационных технологиях  на систему образования  как ф...Влияние инноваций в информационных технологиях  на систему образования  как ф...
Влияние инноваций в информационных технологиях на систему образования как ф...ITMO University
 
Pacori mamani anastacio
Pacori mamani anastacioPacori mamani anastacio
Pacori mamani anastaciopacorimamani
 
Lean manufacturing la_evidencia_de_una_necesidad_5_indicadores
Lean manufacturing la_evidencia_de_una_necesidad_5_indicadoresLean manufacturing la_evidencia_de_una_necesidad_5_indicadores
Lean manufacturing la_evidencia_de_una_necesidad_5_indicadoresIng. Lcdo. CPA GALO LITUMA
 
Optimización de campañas en Google
Optimización de campañas en GoogleOptimización de campañas en Google
Optimización de campañas en GooglePablo Capurro
 
Cuando soplan vientos de cambio
Cuando soplan vientos de cambioCuando soplan vientos de cambio
Cuando soplan vientos de cambioPablo Capurro
 
Shuro Allah ky name sy Zikr o fikr by mufti taqi usmani
Shuro Allah ky name sy Zikr o fikr by mufti taqi usmaniShuro Allah ky name sy Zikr o fikr by mufti taqi usmani
Shuro Allah ky name sy Zikr o fikr by mufti taqi usmaniJ A Balouch
 
Fotoos noordzeebrug 23 7-14
Fotoos noordzeebrug 23 7-14Fotoos noordzeebrug 23 7-14
Fotoos noordzeebrug 23 7-14Rob Bosma
 
احمدیت یعنی حقیقی اسلام
احمدیت یعنی حقیقی اسلاماحمدیت یعنی حقیقی اسلام
احمدیت یعنی حقیقی اسلامmuzaffertahir9
 
Оптический анализатор спектра Anritsu MS9740A
Оптический анализатор спектра Anritsu MS9740AОптический анализатор спектра Anritsu MS9740A
Оптический анализатор спектра Anritsu MS9740Aonlinestuden
 
Pengantar psikologi
Pengantar psikologiPengantar psikologi
Pengantar psikologikholidi14
 
тренинг концентрированный менеджмент
тренинг концентрированный менеджменттренинг концентрированный менеджмент
тренинг концентрированный менеджментГеоргий Геденидзе
 
Fortnightly Smiles June Vol I Newsletter
Fortnightly Smiles June Vol I NewsletterFortnightly Smiles June Vol I Newsletter
Fortnightly Smiles June Vol I NewsletterStemadeBiotech
 
DIPLOMA-MECHANICAL-PAGE 1 OF 2
DIPLOMA-MECHANICAL-PAGE 1 OF 2DIPLOMA-MECHANICAL-PAGE 1 OF 2
DIPLOMA-MECHANICAL-PAGE 1 OF 2Umer Farooq
 
Creatividad y contenidos interactivos
Creatividad y contenidos interactivosCreatividad y contenidos interactivos
Creatividad y contenidos interactivosPablo Capurro
 
Peregrinacion Mariana 2012
Peregrinacion Mariana 2012Peregrinacion Mariana 2012
Peregrinacion Mariana 2012Fadri
 

En vedette (20)

Влияние инноваций в информационных технологиях на систему образования как ф...
Влияние инноваций в информационных технологиях  на систему образования  как ф...Влияние инноваций в информационных технологиях  на систему образования  как ф...
Влияние инноваций в информационных технологиях на систему образования как ф...
 
Pacori mamani anastacio
Pacori mamani anastacioPacori mamani anastacio
Pacori mamani anastacio
 
Lean manufacturing la_evidencia_de_una_necesidad_5_indicadores
Lean manufacturing la_evidencia_de_una_necesidad_5_indicadoresLean manufacturing la_evidencia_de_una_necesidad_5_indicadores
Lean manufacturing la_evidencia_de_una_necesidad_5_indicadores
 
Optimización de campañas en Google
Optimización de campañas en GoogleOptimización de campañas en Google
Optimización de campañas en Google
 
Cuando soplan vientos de cambio
Cuando soplan vientos de cambioCuando soplan vientos de cambio
Cuando soplan vientos de cambio
 
July sept 2014
July sept 2014July sept 2014
July sept 2014
 
Shuro Allah ky name sy Zikr o fikr by mufti taqi usmani
Shuro Allah ky name sy Zikr o fikr by mufti taqi usmaniShuro Allah ky name sy Zikr o fikr by mufti taqi usmani
Shuro Allah ky name sy Zikr o fikr by mufti taqi usmani
 
Apresentacao araújo
Apresentacao araújoApresentacao araújo
Apresentacao araújo
 
Fotoos noordzeebrug 23 7-14
Fotoos noordzeebrug 23 7-14Fotoos noordzeebrug 23 7-14
Fotoos noordzeebrug 23 7-14
 
احمدیت یعنی حقیقی اسلام
احمدیت یعنی حقیقی اسلاماحمدیت یعنی حقیقی اسلام
احمدیت یعنی حقیقی اسلام
 
Nativo digital
Nativo digitalNativo digital
Nativo digital
 
Suyara mod3ativ3
Suyara mod3ativ3Suyara mod3ativ3
Suyara mod3ativ3
 
Оптический анализатор спектра Anritsu MS9740A
Оптический анализатор спектра Anritsu MS9740AОптический анализатор спектра Anritsu MS9740A
Оптический анализатор спектра Anritsu MS9740A
 
Pengantar psikologi
Pengantar psikologiPengantar psikologi
Pengantar psikologi
 
тренинг концентрированный менеджмент
тренинг концентрированный менеджменттренинг концентрированный менеджмент
тренинг концентрированный менеджмент
 
Fortnightly Smiles June Vol I Newsletter
Fortnightly Smiles June Vol I NewsletterFortnightly Smiles June Vol I Newsletter
Fortnightly Smiles June Vol I Newsletter
 
DIPLOMA-MECHANICAL-PAGE 1 OF 2
DIPLOMA-MECHANICAL-PAGE 1 OF 2DIPLOMA-MECHANICAL-PAGE 1 OF 2
DIPLOMA-MECHANICAL-PAGE 1 OF 2
 
Creatividad y contenidos interactivos
Creatividad y contenidos interactivosCreatividad y contenidos interactivos
Creatividad y contenidos interactivos
 
Pesquisa 2
Pesquisa 2Pesquisa 2
Pesquisa 2
 
Peregrinacion Mariana 2012
Peregrinacion Mariana 2012Peregrinacion Mariana 2012
Peregrinacion Mariana 2012
 

Similaire à Programe seu androide

Introdução a Arquitetura Android
Introdução a Arquitetura AndroidIntrodução a Arquitetura Android
Introdução a Arquitetura AndroidMaycon Viana Bordin
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Androidjgbirk
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - BásicoHugoDalevedove
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)Walanem Figueiredo
 
Desenvolvimento android
Desenvolvimento androidDesenvolvimento android
Desenvolvimento androidDiego Keller
 
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaTutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaPaulo César M Jeveaux
 
Minicurso wxWidgets
Minicurso wxWidgetsMinicurso wxWidgets
Minicurso wxWidgetsRenzo Petri
 
Android-Juliana-slides.ppt
Android-Juliana-slides.pptAndroid-Juliana-slides.ppt
Android-Juliana-slides.pptMarcelo Silva
 
Apresentação wxWidgets
Apresentação wxWidgetsApresentação wxWidgets
Apresentação wxWidgetsRenzo Petri
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para AndroidClaudio Pereira
 
Android: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelAndroid: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelCampus Party Brasil
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Javalimadavi
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CERonildo Oliveira
 

Similaire à Programe seu androide (20)

Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Introdução a Arquitetura Android
Introdução a Arquitetura AndroidIntrodução a Arquitetura Android
Introdução a Arquitetura Android
 
Android - Notas de aula
Android - Notas de aulaAndroid - Notas de aula
Android - Notas de aula
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Android
 
Android juliana-mono
Android juliana-monoAndroid juliana-mono
Android juliana-mono
 
Apostilaandroidfatecnormal
ApostilaandroidfatecnormalApostilaandroidfatecnormal
Apostilaandroidfatecnormal
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
 
Android
AndroidAndroid
Android
 
Android Developing
Android DevelopingAndroid Developing
Android Developing
 
Desenvolvimento android
Desenvolvimento androidDesenvolvimento android
Desenvolvimento android
 
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaTutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com Java
 
Minicurso wxWidgets
Minicurso wxWidgetsMinicurso wxWidgets
Minicurso wxWidgets
 
Android-Juliana-slides.ppt
Android-Juliana-slides.pptAndroid-Juliana-slides.ppt
Android-Juliana-slides.ppt
 
Apresentação wxWidgets
Apresentação wxWidgetsApresentação wxWidgets
Apresentação wxWidgets
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Android
AndroidAndroid
Android
 
Android: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelAndroid: Conheça o Futuro Inevitável
Android: Conheça o Futuro Inevitável
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Java
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CE
 

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