Professional Documents
Culture Documents
http://www.ibm.com/developerworks/br/library/os-android-devel/
Portugus (Brasil)
Itens Tcnicos
Downloads e Trials
Comunidade
1 de 7
21/11/2011 14:19
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
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
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>
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
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
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
http://www.ibm.com/developerworks/br/library/os-android-devel/
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.
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