You are on page 1of 7

Introduo ao Desenvolvimento do Android

http://www.ibm.com/developerworks/br/library/os-android-devel/

Portugus (Brasil)

Conecte-se (ou Registrar)

Itens Tcnicos

Downloads e Trials

Comunidade

Introduo ao Desenvolvimento do Android


A Plataforma do Dispositivo de Software Livre Frank Ableson, Software designer Resumo: Android um ambiente operacional completo baseado no kernel Linux V2.6. Inicialmente, o destino de implementao para o Android era a arena do telefone mvel, incluindo telefones inteligentes e dispositivos flip fone de baixo custo. Entretanto, a variedade completa do Android de servios de computao e o suporte totalmente funcional tm potencial para ir alm do mercado de telefones mveis. O Android pode ser til para outras plataformas e aplicativos. Neste artigo, faremos uma introduo plataforma Android para aprendermos como codificar um aplicativo Android bsico. Data: 12/Mai/2009 Nvel: Introdutrio Atividade: 40644 visualizaes Comentrios: 0 (Visualizar | Incluir comentrio - Conectar) Mdia de classificao (46 votos) Classificar este artigo Introduo O BlackBerry e o iPhone, cujas plataformas mvel so atraentes e de alto volume, esto abordando extremidades opostas de um espectro. O BlackBerry completamente seguro para o usurio de negcios corporativo. Para um dispositivo de usurio final, difcil competir com o iPhone em termos de facilidade de uso e "estar na moda." Android, uma plataforma jovem e ainda no comprovada, tem o potencial de jogar dos dois lados do espectro de telefonia mvel e, talvez, de criar uma ponte sobre o abismo entre trabalho e diverso. O Android poderia ser, provavelmente, um "Linux melhor". Hoje, muitos dispositivos com capacidade de rede ou baseados em rede tm um gostinho de kernel Linux. Eles so uma plataforma slida: com boa relao custo-benefcio para implementao e suporte e prontamente aceitos como uma boa abordagem de design para implementao. A UI para esses dispositivos muitas vezes baseada em HTML e pode ser visualizada com um navegador PC ou Mac. Mas nem todo dispositivo precisa ser controlado por um dispositivo de computao geral. Considere um dispositivo convencional, como um forno de microondas ou um assador de pes. E se os seus dispositivos domsticos fossem controlados pelo Android e ostentassem um touch screen colorido? Com uma UI do Android no forno, o autor poderia at cozinhar algo. Neste artigo, aprenda sobre a plataforma Android e como ela pode ser utilizada para aplicaes mveis e no mveis. Instale o Android SDK e construa um aplicativo simples. Faa download do cdigo de origem para o aplicativo de exemplo neste artigo. Uma Breve Histria do Android A plataforma Android o produto do Open Handset Alliance, um grupo de organizaes colaborando para a construo de um telefone mvel melhor. O grupo, liderado pelo Google, inclui operadores de telefonia mvel, fabricantes de aparelhos portteis,fabricantes de componentes, provedores de plataformas e solues de software e empresas de marketing. A partir de um ponto de vista de desenvolvimento de software, o Android fica bem ao centro do mundo do software livre. O primeiro telefone porttil com capacidade para Android no mercado foi o dispositivo G1 fabricado pela HTC e fornecido pela T-Mobile. O dispositivo se tornou disponvel aps quase um ano de especulaes, quando as nicas ferramentas de desenvolvimento de software disponveis eram alguns releases do SDK em constante aprimoramento. Conforme a data de release do G1 se aproximava, a equipe do Android liberou o SDK V1.0 e os aplicativos comearam a aparecer para a nova plataforma. Para estimular a inovao, o Google patrocinou duas sries do "Android Developer Challenges," onde milhes de dlares foram envolvidos nas melhores participaes. Alguns meses depois do G1, o Android Market foi lanado, permitindo que os usurios navegassem e fizessem o download de aplicativos diretamente em seus telefones. Aps cerca de 18 meses, uma nova plataforma mvel entrava na arena pblica. A Plataforma Android Com a variedade de recursos do Android, seria fcil confundi-lo com um sistema operacional desktop. O Android um ambiente em camadas baseado em kernel Linux e que inclui funes ricas. O subsistema da UI inclui: Janelas Visualizaes Widgets para a exibio de elementos comuns como caixas de edio, listas e listas suspensas O Android inclui um navegador incorporvel baseado em WebKit, o mesmo mecanismo navegador de software livre equipando o navegador Mobile Safari do iPhone. O Android ostenta uma rica array de opes de conectividade, incluindo WiFi, Bluetooth e dados wireless atravs de uma conexo celular (por exemplo, GPRS, EDGE e 3G). Uma tcnica popular em aplicativos Android estabelecer um link com o Google Maps para exibir um endereo diretamente em um aplicativo. O suporte para servios baseados em locais (como GPS) e acelermetros tambm est disponvel na pilha de software Android, embora nem todos os dispositivos Android sejam equipados com o hardware necessrio. Existe tambm suporte para cmera. Historicamente, duas reas onde aplicaes mveis lutaram para acompanhar suas contrapartes de desktop so grfico/mdia e mtodos de armazenamento de dados. O Android aborda o desafio dos grficos com suporte integrado para grficos em 2-D e 3-D, incluindo a biblioteca OpenGL. O peso do armazenamento de dados amenizado porque a plataforma Android inclui o banco de dados SQLite de software livre popular. A Figura 1 mostra uma visualizao simplificada das camadas do software Android. Figura 1. Camadas do Software Android

1 de 7

21/11/2011 14:19

Introduo ao Desenvolvimento do Android

http://www.ibm.com/developerworks/br/library/os-android-devel/

Arquitetura do Aplicativo Conforme mencionado, o Android executado sobre um kernel Linux. Os aplicativos Android so gravados na linguagem de programao Java e so executados em uma mquina virtual (VM). importante observar que a VM no uma JVM, como voc pode esperar, mas uma Dalvik Virtual Machine, uma tecnologia de software livre. Cada aplicativo Android executado em uma instncia da Dalvik VM, que, por sua vez, reside em um processo gerenciado por kernel Linux, conforme mostrado abaixo. Figura 2. Dalvik VM

Um aplicativo Android consiste em uma ou mais das classificaes a seguir: Atividades Um aplicativo que possui uma UI visvel implementado com uma atividade. Quando um usurio seleciona um aplicativo da tela inicial ou de um ativador de aplicativo, uma atividade iniciada. Servios Um servio deve ser utilizado para qualquer aplicativo que precise persistir por um longo perodo de tempo, como um monitor de rede ou um aplicativo de verificao de atualizao. Provedores de contedo V pode pensar em provedores de contedo como um servidor de banco de dados. O trabalho de um provedor de contedo gerenciar o acesso aos dados que persistem, oc como um banco de dados SQLite. Se seu aplicativo for muito simples, voc no precisa necessariamente criar um provedor de contedo. Se estiver construindo um aplicativo maior, ou um que disponibilize dados para vrias atividades ou aplicativos, um provedor de contedo ser o meio de voc acessar seus dados. Receptores de transmisso Um aplicativo Android pode ser ativado para processar um elemento de dados ou para responder a um evento, como o recebimento de uma mensagem de texto. Um aplicativo Android, junto com um arquivo chamado AndroidManifest.xml, implementado em um dispositivo. O AndroidManifest.xml contm as informaes de configurao necessrias para voc instal-lo corretamente no dispositivo. Ele inclui os nomes de classes necessrios e os tipos de eventos que o aplicativo est pronto para processar, alm das permisses necessrias que o aplicativo precisa para execuo. Por exemplo, se um aplicativo exigir acesso rede para fazer o download de um arquivo, por exemplo essa permisso deve ser declarada explicitamente no arquivo de manifesto. Muitos aplicativos podem ter essa permisso especfica ativada. Tal segurana declarativa ajuda a reduzir a probabilidade de um aplicativo perigoso causar danos em seu dispositivo. A prxima seo discute o ambiente de desenvolvimento necessrio para a construo de um aplicativo Android. Ferramentas Necessrias A maneira mais fcil para voc comear a desenvolver aplicativos Android fazer o download do Android SDK e do IDE do Eclipse (consulte Recursos). O desenvolvimento do Android pode acontecer no Microsoft Windows, Mac OS X ou Linux. Este artigo supe que voc esteja utilizando o IDE do Eclipse e o plug-in Android Developer Tools para Eclipse. Os aplicativos Android so gravados na linguagem Java, mas so compilados e executados em Dalvik VM (uma mquina virtual no Java). A codificao na linguagem Java dentro do Eclipse bastante intuitiva; o Eclipse fornece um ambiente Java rico, incluindo ajuda sensvel ao contexto e sugestes de cdigos. Aps seu cdigo Java ser claramente compilado, o Android Developer Tools se certifica de que o aplicativo esteja empacotado corretamente, incluindo o arquivo AndroidManifest.xml. possvel desenvolver aplicativos Android sem o Eclipse e o plug-in Android Developer Tools, mas voc precisaria estar familiarizado com o Android SDK. O Android SDK distribudo como um arquivo zip que descompactado em um diretrio em sua unidade de disco rgido. Como j houve vrias atualizaes do SDK, recomendado que voc mantenha seu ambiente de desenvolvimento bem organizado para poder se alternar facilmente entre instalaes do SDK. O SDK inclui: android.jar O arquivo Java archive contendo todas as classes do Android SDK necessrias para a construo do seu aplicativo. documention.html e diretrio de documentos A documentao do SDK fornecida localmente e na Web. Ela tem, em grande parte, forma de JavaDocs, facilitando a navegao em vrios pacotes no SDK. A documentao tambm inclui um Guia de Desenvolvimento de alto nvel e links para a comunidade mais ampla do Android. Diretrio de amostras O subdiretrio de amostras contm cdigo de origem completo para uma variedade de aplicativos, incluindo ApiDemo, que exercita muitas APIs. O aplicativo de amostra um excelente lugar para voc explorar quando comear a desenvolver seu aplicativo Android.

2 de 7

21/11/2011 14:19

Introduo ao Desenvolvimento do Android

http://www.ibm.com/developerworks/br/library/os-android-devel/

Diretrio de ferramentas Contm todas as ferramentas de linha de comando para construir aplicativos Android. A ferramenta mais til e usada com mais frequncia o utilitrio adb (Android Debug Bridge). usb_driver Diretrio contendo os drivers necessrios para conectar o ambiente de desenvolvimento a um dispositivo ativado por Android, como G1 ou o telefone de desenvolvimento desbloqueado Android Dev 1. Esses arquivos s so necessrios para desenvolvedores que utilizam a plataforma Windows. Os aplicativos Android podem ser executados em um dispositivo real ou no Android Emulator, que fornecido com o Android SDK. A Figura 3 mostra a tela inicial do Android Emulator. Figura 3. Android Emulator

Android Debug Bridge O utilitrio adb suporta vrios argumentos de linha de comando opcionais que fornecem recursos poderosos, como cpia de arquivos a partir de e para o dispositivo. O argumento de linha de comando shell permite que voc se conecte ao prprio telefone e emita comandos shell fundamentais. A Figura 4 mostra o comando shell adb com relao a um dispositivo real conectado a um laptop Windows com um cabo USB. Figura 4. Utilizando o Comando Shell adb

Dentro deste ambiente shell, voc pode: Exibir a configurao de rede que mostra vrias conexes de rede. Observe as vrias conexes de rede: lo a conexo local ou loopback. tiwlan0 a conexo WiFi com um endereo fornecido por um servidor DHCP local. Exibe o contedo da varivel de ambiente PATH. Execute o comando su para se tornar o superusurio. Altere o diretrio para /data/app, em que aplicativos do usurio so armazenados.

3 de 7

21/11/2011 14:19

Introduo ao Desenvolvimento do Android

http://www.ibm.com/developerworks/br/library/os-android-devel/

Faa uma listagem de diretrios onde voc veja um nico aplicativo. Os arquivos de aplicativo Android so, de fato, arquivos de archive visualizados com WinZip ou equivalente. A extenso apk. Emita um comando ping para ver se o Google.com est disponvel. Neste mesmo ambiente de prompt de comandos, voc tambm pode interagir com bancos de dados SQLite, iniciar programas e muitas outras tarefas no nvel do sistema. Esta uma funo absolutamente notvel, considerando o fato de voc estar conectado a um telefone. Na prxima seo, voc vai criar um aplicativo Android simples. Codificando um Aplicativo Bsico Esta seo apresenta um rpido tour pela construo de um aplicativo Android. O aplicativo de exemplo to simples quanto voc pode imaginar: um aplicativo "Hello Android" modificado. Voc vai incluir uma pequena modificao para deixar a cor do plano de fundo da tela toda branca para poder utilizar o telefone como uma lanterna. Nada muito original, mas ser til como exemplo. Faa download do cdigo fonte completo. Para criar um aplicativo no Eclipse, selecione File > New > Android project, que inicia o assistente New Project Android. Figura 5. Assistente New Project Android

Em seguida, voc cria um aplicativo simples com uma nica atividade, junto com um layout de UI armazenado em main.xml. O layout contm um elemento de texto que voc vai modificar para chamar de Android FlashLight. O layout simples mostrado abaixo. Listagem 1. Layout do FlashLight
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/all_white"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:textColor="@color/all_black" android:gravity="center_horizontal"/> </LinearLayout>

Crie alguns recursos de cor em strings.xml. Listagem 2. Cor em strings.xml


<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Android FlashLight</string> <string name="app_name">FlashLight</string> <color name="all_white">#FFFFFF</color> <color name="all_black">#000000</color> </resources>

O layout da tela principal possui uma cor de plano de fundo definida como all_white. No arquivo strings.xml, voc v que all_white definida como um valor trio RGB de #FFFFFF ou toda branca. O layout contm um nico TextView, que , de fato, apenas uma parte de um texto esttico; ele no editvel. O texto configurado para ser preto e centralizado horizontalmente com o atributo gravity. O aplicativo possui um arquivo de origem Java chamado FlashLight.java, conforme mostrado abaixo. Listagem 3. Flashlight.java
package com.msi.flashlight; import android.app.Activity;

4 de 7

21/11/2011 14:19

Introduo ao Desenvolvimento do Android

http://www.ibm.com/developerworks/br/library/os-android-devel/

import android.os.Bundle; public class FlashLight extends Activity { /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }

O cdigo bsico gerado diretamente a partir do assistente New Project: Ele faz parte de um pacote Java chamado com.msi.flashlight. Ele possui duas importaes: Uma para a classe de atividade Uma para a classe de pacote configurvel Quando essa atividade iniciada, o mtodo onCreate invocado, passando um savedInstanceState. No se preocupe com esse pacote configurvel em relao aos nossos propsitos; ele ser utilizado quando uma atividade for suspensa e depois continuada. O mtodo onCreate uma substituio do mtodo de classes de atividade de mesmo nome. Ele chama o mtodo onCreate da superclasse. Uma chamada para setContentView() associa o layout da UI definido no arquivo main.xml. Tudo que estiver no main.xml e no strings.xml automaticamente mapeado para as constantes definidas no arquivo de origem R.java. Nunca edite esse arquivo diretamente, j que ele alterado em cada compilao. A execuo do aplicativo apresenta uma tela branca com texto preto. Figura 6. Tela Branca da Lanterna

A configurao do arquivo AndroidManifest.xml para o aplicativo FlashLight mostrada abaixo. Listagem 4. AndroidManifest.xml para FlashLight
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.msi.flashlight" android:versionCode="1" android:versionName="1.0.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".FlashLight" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

Este arquivo foi criado automaticamente pelo plug-in Android Developer Tools para Eclipse. Voc no precisou fazer nada. claro que o aplicativo no absolutamente magnfico. Mas ele seria conveniente se voc quisesse ler algo sem atrapalhar o sono de seu(sua) companheiro(a), ou se voc precisasse se localizar na caixa do fusvel no poro durante uma queda de energia. Resumo

5 de 7

21/11/2011 14:19

Introduo ao Desenvolvimento do Android

http://www.ibm.com/developerworks/br/library/os-android-devel/

Neste artigo, voc aprendeu sobre o Android em um nvel bastante alto e construiu um pequeno aplicativo. Espero que o exemplo tenha deixado voc animado para explorar mais sobre a plataforma Android. O Android promete ser uma plataforma de software livre que vai transformar o mercado e que ser muito til alm dos telefones celulares.

Download Descrio FlashLight source code Informaes sobre mtodos de download Nome os-android-devel-FlashLight.zip Tamanho 22KB Mtodo de download HTTP

Recursos Aprender O Open Handset Alliance um grupo de 47 empresas de telefonia mvel e de tecnologia que se uniram para acelerar a inovao na rea de celulares e para oferecer aos consumidores uma experincia melhor em telefonia mvel, mais rica e mais barata. Juntas, elas desenvolveram o Android, a primeira plataforma mvel gratuita, livre e completa. A API site de desenvolvedores do Android oferece documentao, downloads, blogs e muito mais. Saiba mais sobre o Dalvik Virtual Machine. Verifique os tutoriais hospedados no YouTube que discutem a essncia da Dalvik VM. Desbloqueando o Android: Um Guia do Desenvolvedor fornece instrues concisas e prticas para o sistema operacional Android e ferramentas de desenvolvimento. Para ouvir entrevistas e discusses interessantes para desenvolvedores de software, consulte podcasts do developerWorks. Mantenha-se atualizado com eventos tcnicos e webcasts do developerWorks. Siga o developerWorks no Twitter. Verifique as conferncias, feiras, webcasts e outros Eventos futuros no mundo que sejam de interesse de desenvolvedores de software livre da IBM. Visite a Zona de Software Livre do developerWorks para obter informaes extensivas sobre como fazer as coisas, ferramentas e atualizaes de projetos para ajud-lo a desenvolver tecnologias de software livre e us-las com produtos IBM. Assista e aprenda sobre a IBM e tecnologias de software livre e funes de produto com os demos On Demand gratuitos do developerWorks. Obter produtos e tecnologias Faa o download do Android SDK. Obtenha a ltima IDE do Eclipse. Inove seu prximo projeto de desenvolvimento de software livre com o software de avaliao da IBM, disponvel para download ou em DVD. Faa o download de verses de avaliao do produto IBM ou explore as avaliaes on-line no IBM SOA Sandbox e entre em contato com ferramentas de desenvolvimento de aplicativos e produtos de middleware do DB2, Lotus, Rational, Tivoli e WebSphere. Discutir Participe dos blogs do developerWorks e envolva-se na comunidade do developerWorks. Sobre o autor Depois que sua carreira no basquetebol na faculdade chegou ao fim sem um bom contrato para jogar no L.A. Lakers, Frank Ableson mudou seu foco para o design de software de computador. Ele gosta de solucionar problemas complexos, principalmente nas reas de comunicaes e interface de hardware. Quando no est trabalhando, ele passa seu tempo com a esposa Nikki e com seus filhos. Voc pode entrar em contato com Frank em frank@cfgsolutions.com. Fechar [x]

developerWorks: Registre-se
Se voc no possui um ID IBM e senha, Registre-se aqui. IBM ID: Esqueceu seu ID IBM? Senha: Esqueceu sua senha? Alterar sua senha Aps se conectar: Mantenha-me conectado. Ao clicar em Enviar, voc concorda com os termos e condies do developerWorks.

Na primeira vez que voc efetua sign in no developerWorks, um perfil criado para voc. Informaes selecionadas do seu perfil developerWorks so exibidas ao pblico, mas voc pode edit-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocult-los), e seu nome de exibio acompanharo o contedo que postar.

6 de 7

21/11/2011 14:19

Introduo ao Desenvolvimento do Android

http://www.ibm.com/developerworks/br/library/os-android-devel/

Todas as informaes enviadas so seguras. Fechar [x]

Selecione seu nome de exibio


Ao se conectar ao developerWorks pela primeira vez, criado um perfil para voc e necessrio selecionar um nome de exibio. O nome de exibio acompanhar o contedo que voc postar no developerWorks. Escolha um nome de exibio de 3 - 31 caracteres. Seu nome de exibio deve ser exclusivo na comunidade do developerWorks e no deve ser o seu endereo de email por motivo de privacidade. Nome de exibio: (Deve possuir de 3 a 31 caracteres.)

Ao clicar em Enviar, voc concorda com os termos e condies do developerWorks.

Todas as informaes enviadas so seguras. Mdia de classificao (46 votos) 1 estrela 1 estrela 2 estrelas 2 estrelas 3 estrelas 3 estrelas 4 estrelas 4 estrelas 5 estrelas 5 estrelas

Incluir comentrio: Conectar or registre-se para deixar um comentrio. Observao: elementos HTML no so suportados nos comentrios.

Notificar-me quando um comentrio for adicionado1000 caracteres restantes

Nenhum comentrio postado para esse artigo


Imprimir esta pgina Compartilhe esta pgina Siga o developerWorks

Itens Tcnicos
Information Management Lotus Rational Tivoli WebSphere Cloud computing Segmentos de Indstrias Biblioteca Tcnica Feeds Java technologia Linux Open source

Downloads e Trials

Comunidade
Fruns Grupos Blogs Wikis Arquivos Termos de uso Relatar abuso

Sobre o developerWorks
Ajuda e comentrios sobre o site Contate os editores

IBM
Solues Software IBM Servios Suporte & Downloads Suporte & Downloads (Documentao) Redbooks (Ingls) Privacidade Acessibilidade (Ingls)

Recursos relacionados
IBM Academic Initiative IBM PartnerWorld Industry network

Saiba mais...

Saiba mais...

7 de 7

21/11/2011 14:19

You might also like