Sei sulla pagina 1di 34

1

Introduo ao Android

Objetivos
Neste captulo, voc vai: Conhecer a histria do Android e do SDK do Android. Conhecer o Android Market para aplicativos. Fazer uma reviso dos conceitos bsicos da tecnologia de objetos. Conhecer os tipos mais importantes de software para desenvolvimento de aplicativos Android, incluindo o SDK do Android, o SDK do Java e o ambiente de desenvolvimento integrado (IDE) Eclipse. Aprender sobre uma importante documentao do Android. Fazer o teste de um aplicativo Android que permite desenhar na tela. Conhecer os Android Resource Centers online da Deitel.
I I I I I I I

Android para Programadores

Resumo

1.1 Introduo 1.2 Viso geral do Android 1.3 Android 2.2 (Froyo) 1.4 Android 2.3 (Gingerbread) 1.5 Android 3.0 (Honeycomb) 1.6 Android Ice Cream Sandwich 1.7 Baixando aplicativos do Android Market

1.8 Pacotes 1.9 O SDK do Android 1.10 Tecnologia de objetos: uma rpida recapitulao 1.11 Teste do aplicativo Doodlz em um AVD 1.12 Recursos da Deitel 1.13 Recursos para desenvolvimento com Android 1.14 Para finalizar

1.1 Introduo
Bem-vindo ao desenvolvimento de aplicativos Android! Esperamos que voc considere o trabalho com este livro uma experincia instrutiva, desafiadora, divertida e recompensadora. Esta obra se destina a programadores Java. Utilizamos somente aplicativos funcionais completos; portanto, se voc no conhece Java, mas tem experincia com programao orientada a objetos em outra linguagem, como C#, Objective-C/Cocoa ou C++ (com bibliotecas de classe), deve ser capaz de dominar o material rapidamente, aprendendo Java e programao orientada a objetos no estilo Java medida que aprende a desenvolver aplicativos Android. O livro usa uma abordagem baseada em aplicativos discutimos cada nova tecnologia no contexto de aplicativos Android funcionais e completos, com um aplicativo por captulo. Descrevemos o aplicativo e o testamos. Em seguida, apresentamos uma breve viso geral das importantes tecnologias Eclipse (ambiente de desenvolvimento integrado), Java e o SDK (Software Development Kit) do Android que vamos usar para implementar o aplicativo. Para aplicativos que assim o exigem, conduzimos um acompanhamento visual do projeto da interface grfica do usurio, utilizando o Eclipse. Em seguida, fornecemos a listagem do cdigo-fonte completo, usando nmeros de linha, destaque da sintaxe (para imitar o colorido da sintaxe utilizado no IDE Eclipse) e realce de cdigo para enfatizar as suas partes principais. Tambm mostramos uma ou mais capturas de tela do aplicativo em execuo. Ento, fazemos um acompanhamento detalhado do cdigo, enfatizando os novos conceitos de programao introduzidos no aplicativo. O cdigo-fonte de todos os aplicativos do livro pode ser baixado no endereo www.bookman.com.br. A Figura 1.1 lista a documentao online importante sobre o Android.

Ttulo
Android Developer Guide Using the Android Emulator Android Package Index Android Class Index User Interface Guidelines Data Backup

URL
developer.android.com/guide/index.html developer.android.com/guide/developing/devices/emulator.html developer.android.com/reference/packages.html developer.android.com/reference/classes.html developer.android.com/guide/practices/ui_guidelines/index.html developer.android.com/guide/topics/data/backup.html

Fig. 1.1 | Documentao online importante para desenvolvedores Android. (continua)

Captulo 1

Introduo ao Android

Ttulo
Security and Permissions Managing Projects from Eclipse with ADT Debugging Tasks Tools Overview Publishing Your Apps Android Market Getting Started Android Market Developer Distribution Agreement

URL
developer.android.com/guide/topics/security/ security.html developer.android.com/guide/developing/projects/ projects-eclipse.html developer.android.com/guide/developing/debugtasks.html developer.android.com/guide/developing/tools/ index.html developer.android.com/guide/publishing/ publishing.html market.android.com/support/bin/topic. py?hl=en&topic=15866 www.android.com/us/developer-distributionagreement.html

Fig. 1.1 | Documentao online importante para desenvolvedores Android.

Leia a seo Antes de comear para obter informaes sobre como baixar o software necessrio para construir aplicativos Android. O site Android Developer fornece downloads gratuitos, alm de documentao, vdeos explicativos (Fig. 1.37), diretrizes de codificao e muito mais. Para publicar seus aplicativos na loja de aplicativos do Google Android Market , voc precisar criar um perfil de desenvolvedor no endereo market.android.com/publish/signup. Existe uma taxa de inscrio e voc precisa aceitar as condies do Android Market Developer Distribution Agreement. Discutimos a publicao de seus aplicativos com mais detalhes no Captulo 2, Android Market e questes de comercializao de aplicativos. medida que se aprofundar no desenvolvimento de aplicativos Android, talvez voc tenha perguntas sobre as ferramentas, questes de projeto, segurana e muito mais. Existem vrios grupos de discusso e fruns para desenvolvedores Android, onde voc pode obter as notcias mais recentes ou fazer perguntas (Fig. 1.2).

Ttulo
Android Discuss

Assinatura
Assine usando Google Groups:
android-discuss

Descrio
Um grupo de discusso geral sobre o Android, onde voc pode obter respostas para suas perguntas sobre desenvolvimento de aplicativos. Use essa lista para fazer perguntas sobre desenvolvimento de aplicativos Android em nvel de iniciante, incluindo como comear a usar Java e Eclipse, e perguntas sobre as melhores prticas.

Assine via email:


android-discuss-subscribe@ googlegroups.com

Stack Overflow

stackoverflow.com/questions/tagged/ android

Fig. 1.2 | Grupos de discusso e fruns sobre Android. (continua)

Android para Programadores

Ttulo
Android Developers

Assinatura
Assine usando Google Groups:
android-developers

Descrio
Os desenvolvedores Android experientes usam essa lista para solucionar problemas de aplicativos, problemas de projeto de interface grfica do usurio, problemas de desempenho e muito mais. Faa perguntas e encontre respostas a respeito do Android Market. Faa perguntas, compartilhe dicas com outros desenvolvedores e encontre fruns destinados a dispositivos Android especficos.

Assine via email:


android-developerssubscribe@googlegroups. com

Android Market Help Forum Android Forums

www.google.com/support/ forum/p/Android+market www.androidforums.com/

Fig. 1.2 | Grupos de discusso e fruns sobre Android.

1.2 Viso geral do Android


A primeira gerao de telefones Android foi lanada em outubro de 2008. De acordo com a Gartner, as vendas de telefones baseados em Android nos Estados Unidos aumentaram 707% no primeiro trimestre de 2010, em relao ao ano anterior.1 Em maro de 2011, um estudo da Nielsen mostrou que o Android tinha 37% da fatia de mercado de smartphones nos Estados Unidos, comparados com 27% do iPhone da Apple e 22% do Blackberry.2 Em agosto de 2010, mais de 200 mil smartphones Android eram ativados todos os dias, ultrapassando de 100 mil por dia apenas dois meses antes.3 Em junho de 2011, mais de 500 mil dispositivos Android eram ativados diariamente. Atualmente, existem mais de 300 dispositivos Android diferentes em todo o mundo. O sistema operacional Android foi desenvolvido pela Android, Inc., adquirida pelo Google em julho de 2005. Em novembro de 2007, foi formada a Open Handset Alliance um consrcio composto inicialmente de 34 empresas e agora contando com 81 (www.openhandsetalliance.com/oha_members.html) para desenvolver o Android, impulsionando a inovao na tecnologia mvel, melhorando a experincia do usurio e reduzindo os custos. O Android utilizado em inmeros smartphones, dispositivos e-reader e tablets.

Franqueza e cdigo-fonte aberto


Uma vantagem de desenvolver aplicativos Android a franqueza (ou grau de abertura) da plataforma. O sistema operacional de cdigo-fonte aberto e gratuito. Isso permite ver o cdigo-fonte do Android e como seus recursos so implementados. Voc tambm pode contribuir para o Android relatando erros (consulte source.android.com/source/report-bugs.html) ou participando nos grupos de discusso do Open Source Project (source. android.com/community/index.html). Diversos aplicativos Android de cdigo-fonte aberto do Google e outros esto disponveis na Internet (Fig. 1.3). A Figura 1.4 mostra onde se pode obter o cdigo-fonte do Android, aprender a respeito da filosofia por trs do sistema operacional de cdigo-fonte aberto e obter informaes sobre licenciamento.

1 2 3

www.gartner.com/it/page.jsp?id=1372013. blog.nielsen.com/nielsenwire/online_mobile/u-s-smartphone-market-whos-the-most-wanted/. www.wired.com/gadgetlab/2010/08/google-200000-android-phones/.

Captulo 1

Introduo ao Android

Descrio
Ampla lista de aplicativos de cdigo-fonte aberto, organizada por categoria (por exemplo, games, utilitrios etc.). Exemplos de aplicativos do Google para a plataforma Android. 30 exemplos de aplicativos demonstrando vrios recursos do Android. Lista 12 aplicativos Android de cdigo-fonte aberto. Fornece links para uma seleo de games Android de cdigo-fonte aberto.

URL
en.wikipedia.org/wiki/ List_of_open_source_Android_applications

code.google.com/p/apps-for-android/

developer.android.com/resources/ browser.html?tag=sample www.techdrivein.com/2010/11/12-open-sourceandroid-applications.html www.techdrivein.com/2010/12/15-nice-andsimple-open-source-android.html

Fig. 1.3 | Sites de recurso de aplicativos Android de cdigo-fonte aberto.

Ttulo
Get Android Source Code Philosophy and Goals Licenses FAQs

URL
source.android.com/source/download.html source.android.com/about/philosophy.html source.android.com/source/licenses.html source.android.com/faqs.html#aosp

Fig. 1.4 | Recursos de cdigo-fonte e documentao sobre o Android.

Java
Os aplicativos Android so desenvolvidos com Java a linguagem de programao mais usada do mundo. Essa linguagem foi uma escolha lgica para a plataforma Android, porque poderosa, gratuita e de cdigo-fonte aberto. O Java usado para desenvolver aplicativos empresarias de larga escala, melhorar a funcionalidade de servidores Web, fornecer aplicativos para aparelhos de consumidor (por exemplo, telefones celulares, pagers e assistentes digitais pessoais) e para muitos outros propsitos. O Java permite desenvolver aplicativos que so executados em uma variedade de dispositivos, sem nenhum cdigo especfico para a plataforma. Os programadores Java experientes podem se aprofundar rapidamente no desenvolvimento com Android, usando as APIs (interfaces de programao de aplicativo) Android e outras disponveis de terceiros. O grau de abertura da plataforma estimula a rpida inovao. O Android est disponvel em dispositivos de dezenas de fabricantes de equipamento originais (OEMs original equipment manufacters) em 48 pases, por meio de 59 empresas de telefonia.4 A intensa concorrncia entre os OEMs e as empresas de telefonia beneficia os clientes. A linguagem Java orientada a objetos e tem acesso a poderosas bibliotecas de classe que ajudam a desenvolver aplicativos rapidamente. A programao de interfaces grficas do usurio com Java baseada em eventos neste livro, voc vai escrever aplicativos que respondem a vrios eventos iniciados pelo usurio, como toques na tela e pressionamentos de tecla. Alm de programar partes de seus aplicativos diretamente, voc tambm vai usar o Eclipse para arrastar e soltar convenientemente objetos predefinidos,
4

code.google.com/events/io/2010/.

Android para Programadores

como botes e caixas de texto, em seu lugar na tela, alm de rotul-los e redimension-los. Usando Eclipse com o Plugin ADT (Android Development Tools), voc pode criar, executar, testar e depurar aplicativos Android rpida e convenientemente, e pode projetar suas interfaces de usurio visualmente.

Tela multitouch
Muitos smartphones Android emglobam a funcionalidade de telefone celular, cliente de Internet, MP3 player, console de jogos, cmera digital e muito mais, em um dispositivo porttil com telas multitouch coloridas. Isso permite controlar o dispositivo com gestos que envolvem apenas um toque ou vrios toques simultneos (Fig. 1.5). Usando a tela multitouch, voc pode navegar facilmente entre seu telefone, seus aplicativos, sua biblioteca de msicas, pela Web etc. A tela pode exibir um teclado para digitao de emails e mensagens de texto e para a insero de dados em aplicativos (alguns dispositivos Android tambm tm teclados fsicos). Usando dois dedos, voc pode ampliar (afastando os dedos) e reduzir (juntando-os) fotos, vdeos e pginas Web. Pode rolar pginas e telas para cima e para baixo ou de um lado para outro, apenas correndo os dedos pela tela.

Aplicativos incorporados
Os dispositivos Android vm com vrios aplicativos incorporados de fbrica, os quais podem variar de acordo com o dispositivo. Normalmente eles incluem Telefone, Contatos, Correio, Navegador e muito mais. Muitos fabricantes personalizam os aplicativos-padro; vamos mostrar como interagir com os aplicativos, como quer que tenham sido alterados.

Conveno de atribuio de nomes do Android


Cada nova verso do Android recebe um nome de sobremesa, em ingls, em ordem alfabtica: Android 1.6 (Donut) Android 2.02.1 (Eclair)

Nome do gesto
Toque rpido (touch) Toque duplo rpido (double tap) Pressionamento longo (long press) Arrastamento (drag) Movimento rpido (fling)

Ao fsica
Tocar rapidamente na tela uma vez. Tocar rapidamente na tela duas vezes. Tocar na tela e manter o dedo na posio. Tocar e arrastar o dedo pela tela. Tocar e mover rapidamente o dedo na tela, na direo do movimento desejado. Usando dois dedos, tocar na tela e junt-los ou afast-los.

Usado para
Abrir um aplicativo, pressionar um boto ou um item de menu. Ampliar e ento reduzir imagens, Google Maps e pginas Web. Abrir um menu de contexto ou pegar cones de aplicativo ou objetos para mover arrastando. Mover objetos ou cones, ou rolar precisamente uma pgina Web ou lista. Rolar por um ListView (por exemplo, Contatos) ou por um DatePicker ou um TimePicker (por exemplo, para selecionar datas e horas no Calendar). Ampliar e ento reduzir a tela (por exemplo, ampliando texto e imagens).

Zoom de pina (pinch zoom)

Fig. 1.5 | Gestos no Android.

Captulo 1

Introduo ao Android

Android 2.2 (Froyo) Android 2.3 (Gingerbread) Android 3.0 (Honeycomb)

1.3 Android 2.2 (Froyo)


O Android 2.2 (tambm chamado de Froyo, lanado em maio de 2010) incluiu vrios recursos novos e aprimoramentos (Fig. 1.6). Nas prximas sees, vamos discutir o Android 2.3 (Gingerbread) e o Android 3.0 (Honeycomb).

Recurso
Memria e desempenho melhorados

Descrio
Os upgrades incluem: Os aprimoramentos na Dalvik Virtual Machine a tornaram de duas a cinco vezes mais rpida do que no Android 2.1. O mecanismo Chrome V8 carrega pginas Web com JavaScript rapidamente. A melhoria no gerenciamento de memria do kernel aumenta o desempenho do dispositivo. Permite que usurios do Exchange digitem um nome de usurio e uma senha para sincronizar suas contas no Exchange com seus dispositivos Android rapidamente. Os usurios podem sincronizar o Calendrio do Exchange com o aplicativo Calendar. Acessa endereos de usurios de email e listas de distribuio do sistema de email do Microsoft Exchange dos usurios, permitindo o preenchimento automtico de nomes de contato dos destinatrios ao se criar um novo email. Os usurios podem adicionar senhas alfanumricas para desbloquear um dispositivo. Isso aumenta a segurana dos dados, impedindo que algum acesse informaes no dispositivo bloqueado. Se voc no consegue encontrar seu dispositivo Android, o recurso Limpeza Remota restaura as configuraes de fbrica (removendo todos os dados pessoais), protegendo assim a privacidade de suas informaes. Quando a Limpeza Remota usada no telefone, os dados que no tm backup so perdidos. [Observao: a disponibilidade de Limpeza Remota varia de acordo com o fabricante e com os gerenciadores de poltica do dispositivo.] O Quick Contact para Android fornece aos usurios fcil acesso s informaes de contato e modos de se comunicarem com seus contatos, como email, SMS ou telefone. O usurio pode dar um toque rpido na foto de um contato (por exemplo, na lista de contatos, na galeria de imagens, email ou calendrio), abrindo o widget Quick Contact com os vrios modos de comunicao. Como desenvolvedor, voc pode incorporar o Quick Contact em seus aplicativos.

Descoberta automtica

Calendrio Pesquisa com GAL (Global Address Lists)

Senhas

Limpeza Remota

Contatos e contas

Fig. 1.6 | Recursos de usurio do Android 2.2 (developer.android.com/sdk/android-2.2-highlights.html). (continua)

Android para Programadores

Recurso
Cmera

Descrio
Os controles de cmera no Android 2.2 incluem suporte para flash e zoom digital. Os usurios podem ajustar as configuraes da cmera de acordo com o ambiente (por exemplo, noite, pr do sol, ao), adicionar efeitos (por exemplo, spia, matiz vermelho, matiz azul) e muito mais. Voc pode programar as configuraes de visualizao e captura da cmera e recuperar e codificar vdeo. A disposio do teclado foi aprimorada, tornando muito mais fcil digitar na tela multitouch e garantindo que os toques no teclado no sejam perdidos ao se digitar com dois dedos. O dicionrio mais sofisticado aprende a partir das palavras usadas pelo usurio e inclui os contatos do usurio nas grafias sugeridas. A interface do usurio aprimorada do navegador apresenta uma nova barra de endereos em que o usurio pode dar um toque rpido para pesquisa e navegao e dar um duplo toque rpido para ampliar e reduzir uma pgina Web. Suporta tambm HTML5, que inclui recursos como reproduo de vdeo e operao de arrastar e soltar, disponveis anteriormente somente por meio de plug-ins de outros fornecedores, como o Adobe Flash. [Obs.: O navegador tambm suporta Flash.] Os usurios podem adicionar teclados de outros idiomas e trocar entre eles facilmente, movendo o dedo rapidamente* da direita para a esquerda pela barra de espao no teclado. Para adicionar teclados em um dispositivo ou no emulador, acesse Settings > Language & keyboard > Android keyboard > Input languages.** O framework de mdia Stagefright do Android permite reproduo de vdeo e streaming HTTP progressivo isto , enviar vdeo para um navegador pela Internet usando HyperText Transfer Protocol e reproduzir o vdeo enquanto ainda est sendo baixado. O framework de mdia anterior, OpenCORE, ainda suportado no Android. Agora os usurios podem estabelecer conexes sem fio entre seus dispositivos Android e outros dispositivos habilitados para Bluetooth, como fones de ouvido e conexes em carros (para conectar o telefone no sistema viva-voz de um carro), compartilhar informaes de contato com telefones habilitados para Bluetooth e discagem de voz. O Android 2.x inclua tethering e suporte para ponto de acesso Wi-Fi incorporado, permitindo aos usurios ligar seus telefones em um computador Windows ou Linux com um cabo USB a fim de usar o servio 3G do telefone para se conectarem Internet
www.engadget.com/2010/05/13/android-2-2-froyo-toinclude-usb-tethering-wifi-hotspot-funct/

Teclado virtual do Android

Dicionrio aprimorado

Navegador

Teclado para vrios idiomas

Framework de mdia

Bluetooth

Tethering e suporte para ponto de acesso Wi-Fi

* N. de R.T.: O nome original desse movimento fling. ** N. de R.T.: Neste livro, os nomes das opes de menu do Android so mantidos em ingls, pois as tradues para outros idiomas no so padronizadas.

Fig. 1.6 | Recursos de usurio do Android 2.2 (developer.android.com/sdk/android-2.2-highlights.html).

Captulo 1

Introduo ao Android

Novos recursos para desenvolvedores no Android 2.2


O servio Android Cloud to Device Messaging (C2DM) permite aos desenvolvedores de aplicativos enviar dados de seus servidores para seus aplicativos instalados em dispositivos Android, mesmo quando os aplicativos no esto sendo executados. O servidor avisa os aplicativos para que entrem em contato diretamente com o servidor a fim de receber dados atualizados de aplicativo ou do usurio.5 O Android Application Error Reports, que pode ser acessado fazendo-se login em sua conta de publicador do Android Market, permite receber relatrios sobre falha e congelamento de aplicativo a partir dos usurios de seus aplicativos. O Android 2.2 tambm contm vrias APIs novas que permitem adicionar funcionalidade facilmente em seus aplicativos (Fig. 1.7). Usamos alguns desses novos frameworks neste livro. Usamos tambm os Web services. Com eles, voc pode criar mashups, os quais permitem desenvolver aplicativos rapidamente, combinando os Web services complementares de vrias organizaes, possivelmente com feeds de informao de vrios tipos (como RSS, Atom, XML, JSON e outros) (Fig. 1.8). Por exemplo, www.housingmaps.com utiliza Web services para combinar listagens de imveis da Craigslist (www.craigslist.org) com os recursos do Google Maps a API mais usada para mashups para mostrar as localizaes de apartamentos para alugar em determinada rea. Usamos os Web services do WeatherBug no Captulo 14.

API
Aplicativos em armazenamento externo Cmera e filmadora

Descrio
Os aplicativos podem ser armazenados em um dispositivo de memria externa, em vez de apenas na memria interna do dispositivo Android. Os novos recursos incluem a API Camera Preview, que duplica a frequncia de exibio (agora so 20 quadros por segundo), orientao de retrato, controles de zoom, dados de exposio e um utilitrio de miniaturas. As novas classes CamcorderProfile podem ser usadas em aplicativos para determinar os recursos de hardware da filmadora do dispositivo do usurio. Faz o backup de dados na nuvem e a restaurao de dados depois que o usurio redefine o servidor com as configuraes originais de fbrica ou troca de dispositivo. Cria aplicativos de administrador para controlar recursos de segurana do dispositivo (por exemplo, fora da senha). Acesso s APIs grficas OpenGL ES 2.0, que anteriormente estavam disponveis somente por meio do Android NDK um conjunto de ferramentas que permite usar cdigo nativo para componentes de aplicativo diretamente relacionados com o desempenho (developer.android.com/sdk/ndk/overview.html). APIs para foco de udio, varredura automtica de arquivos no banco de dados de mdia (por exemplo, arquivos de udio e vdeo), deteco de concluso de carregamento de som, pausa e retomada automticas de reproduo de udio e muito mais. Os controles de modo carro, modo mesa e modo noturno do UiModeManager permitem ajustar a interface do usurio de um aplicativo, a API de deteco de gestos em escala aprimora os eventos multitouch e a faixa inferior de um TabWidget agora pode ser personalizada.

Backup de dados

Gerenciamento de poltica do dispositivo Imagens grficas

Framework de mdia

Framework de interface do usurio

Fig. 1.7 | APIs do Android 2.2 (developer.android.com/sdk/android-2.2-highlights.html).


5

code.google.com/android/c2dm/.

10

Android para Programadores

Fonte de Web services


Google Maps Facebook Foursquare LinkedIn YouTube Twitter Groupon Netflix eBay Wikipedia PayPal Last.fm Amazon eCommerce Salesforce.com Skype Microsoft Bing Flickr Zillow Yahoo Search WeatherBug
1?sort=mashups).

Como usada
Servios de mapas Rede social Check-in mvel Rede social para negcios Busca de vdeo Microblog Comrcio social Aluguel de filmes Leiles pela Internet Enciclopdia colaborativa Pagamentos Rdio na Internet Compra de livros e muito mais Gerenciamento de relacionamento com o cliente (CRM) Telefonia pela Internet Busca Compartilhamento de fotos Avaliao de imveis Busca Meteorologia

Fig. 1.8 | Alguns Web services populares (www.programmableweb.com/apis/directory/

A Figura 1.9 lista diretrios onde voc vai encontrar informaes sobre muitos dos Web services mais populares.
Diretrio
ProgrammableWeb Webmashup.com Webapi.org Google Code API Directory APIfinder

URL
www.programmableweb.com www.webmashup.com/ www.webapi.org/webapi-directory/ code.google.com/apis/gdata/docs/directory. html www.apifinder.com/

Fig. 1.9 | Diretrios de Web services.

1.4 Android 2.3 (Gingerbread)


O Android 2.3 (Gingerbread), lanado em dezembro de 2010 (com o Android 2.3.3 uma pequena atualizao lanado em fevereiro de 2011), acrescentou mais refinamentos para o usurio, como um teclado redesenhado, recursos de navegao aprimorados, maior eficincia no consumo de energia e muito mais. A Figura 1.10 descreve alguns dos principais novos recursos e atualizaes.

Captulo 1

Introduo ao Android

11

Recurso
Gerenciamento de energia

Descrio
Os aplicativos que consomem energia do processador enquanto esto sendo executados em segundo plano (ou ficam despertos por mais tempo do que o normal) podem ser fechados pelo Android (se apropriado) para economizar energia da bateria e melhorar o desempenho. Os usurios tambm podem ver os aplicativos e componentes do sistema que consomem energia da bateria. O atalho para gerenciar aplicativos, Manage Applications, no menu Options da tela inicial permite aos usurios ver todos os aplicativos que esto em execuo. Para cada aplicativo, voc pode ver o volume de armazenamento e a memria que ele est usando, as permisses concedidas (se pode ler os dados de contato do usurio, criar conexes Bluetooth etc.) e muito mais. Os usurios tambm podem interromper o aplicativo fora. A comunicao em campo prximo (NFC) um padro de conectividade sem fio de curto alcance que permite a comunicao entre dois dispositivos ou de um dispositivo e uma etiqueta (que armazena dados que podem ser lidos por dispositivos habilitados para NFC) dentro de poucos centmetros. Os dispositivos habilitados para NFC podem operar em trs modos leitor/gravador (por exemplo, lendo dados de uma etiqueta), par a par (por exemplo, trocando dados entre dois dispositivos) e emulao de carto (por exemplo, atuando como um carto inteligente para pagamentos sem contato fsico). Os dispositivos Android habilitados para NFC podem ser usados nos modos leitor/gravador e par a par. O suporte e os recursos para NFC variam de acordo com o dispositivo Android. Voc pode tocar em uma palavra para selecion-la, arrastar os marcadores para ajustar a seleo, copiar o texto tocando na rea realada e, por fim, colar o texto. Tambm possvel mover o cursor arrastando a respectiva seta. Os aplicativos podem acessar cmeras traseiras e frontais. O Android inclui suporte para SIP (Session Initiation Protocol) um protocolo padro da IETF (Internet Engineering Task Force) para iniciar e terminar chamadas de voz pela Internet. Os usurios com contas SIP (disponveis por meio de outros fornecedores) podem fazer chamadas de voz pela Internet para outros contatos com contas SIP. Nem todos os dispositivos Android ou operadoras suportam SIP e chamadas pela Internet. Para ver uma lista de provedores de SIP, consulte www.cs.columbia.edu/sip/service-providers.html. Os usurios podem acessar arquivos baixados a partir de email, do navegador etc., por intermdio do aplicativo Downloads.

Atalho Manage Applications

Comunicao em campo prximo

Funcionalidade Copiar e Colar aprimorada

Cmera Chamada pela Internet

Aplicativo Downloads

Fig. 1.10 | Recursos de usurio do Android 2.3 (developer.android.com/sdk/android-2.3-highlights.html).

A plataforma tambm adicionou vrios recursos novos de desenvolvedor para melhorar a comunicao, o desenvolvimento de games e multimdia (Fig. 1.11). Para obter mais detalhes sobre cada um desses recursos, acesse developer.android.com/sdk/ android-2.3-highlights.html.

12

Android para Programadores

Recurso
Telefonia pela Internet

Descrio
O novo suporte para SIP permite incorporar funcionalidade de telefonia pela Internet em seus aplicativos ou seja, fazer e receber chamadas de voz. Constri aplicativos que leem e respondem a dados de etiquetas ou dispositivos NFC. Os aplicativos Android 2.3.3 tambm podem gravar em etiquetas e trabalhar no modo par a par com outros dispositivos. Vale ressaltar que o suporte para NFC varia de acordo com o dispositivo Android. Adiciona equalizao (para ajustar graves ou agudos), reforo de baixo (aumentar o volume de sons graves), virtualizao de fones de ouvido (som surround simulado) e reverberao (efeitos de eco) em uma ou em vrias trilhas sonoras. Suporte interno para codificao AAC (Advanced Audio Coding sucessora do MP3) e AMRWB (Adaptive MultiRate Wideband) para capturar udio de alta qualidade. Suporte interno para compactao de vdeo aberta VP8, com o formato de continer aberto WebM. Use a API Camera aprimorada para acessar cmeras traseiras e frontais em um dispositivo, determinar seus recursos e abrir a cmera apropriada.

API de comunicao em campo prximo

API de efeitos de udio

Novos formatos de udio

Novos formatos de vdeo API Camera

Fig. 1.11 | Recursos de desenvolvedor do Android 2.3 (developer.android.com/sdk/android-2.3-highlights.html).

1.5 Android 3.0 (Honeycomb)


Em 2015, as vendas de tablets sero responsveis por mais de 20% de todas as vendas de computadores pessoais.6 O interesse por tablets Android est aumentando rapidamente. Na exposio Consumer Electronic Show de 2011, foram anunciados 85 novos tablets Android.7 O Android 3.0 (Honeycomb) inclui aprimoramentos na interface do usurio feitos especificamente para dispositivos de tela grande (tal como os tablets), como teclado redesenhado para digitao mais eficiente, interface do usurio em 3D visualmente atraente, barras de sistema e de ao para facilitar a navegao e muito mais (Fig. 1.12). Ele tambm fornece novas ferramentas para os desenvolvedores otimizarem os aplicativos para dispositivos de tela maior (Fig. 1.13).

Recurso
Interface hologrfica do usurio Tela inicial que pode ser personalizada

Descrio
Atraente interface de usurio de aparncia tridimensional. Organiza widgets, atalhos de aplicativo e muito mais.

Fig. 1.12 | Novos recursos do Android 3 (developer.android.com/sdk/ android-3.0-highlights.html). (continua)

6 7

www.forrester.com/ER/Press/Release/0,1769,1340,00.html. www.computerworld.com/s/article/9206219/Google_Android_tablets_gain_traction_with_ developers?source=CTWNLE_nlt_dailyam_2011-01-25.

Captulo 1

Introduo ao Android

13

Recurso
Teclado redesenhado Edio melhorada Barra de sistema Barra de ao

Descrio
Permite mais preciso e eficincia na digitao. Com a nova interface do usurio, mais fcil selecionar, copiar e colar texto. Acesso rpido aos botes de navegao, s notificaes e ao status do sistema a partir da barra de sistema, na parte inferior da tela. Fornece controles especficos para cada aplicativo (como para navegao) a partir da barra de ao, na parte superior da tela de cada aplicativo. A lista de aplicativos recentes, Recent Apps, na barra de sistema permite ver as tarefas que esto sendo executadas simultaneamente e passar de um aplicativo para outro. Conecte seu dispositivo Android em um teclado usando USB ou Bluetooth. Desenvolvidos pela Microsoft, esses protocolos permitem transferir fotos, vdeos e arquivos de msica para seu computador. Voc pode construir aplicativos que permitem aos usurios criar e gerenciar arquivos de mdia e compartilh-los em vrios dispositivos. Conecte uma rede Wi-Fi ou 3G em seu computador ou outros dispositivos usando seu dispositivo Android como modem. Apresenta guias, em vez de vrias janelas, navegao mais fcil em sites que no so para dispositivos mveis (usando zoom melhorado, rolagem etc.), modo incgnito para navegar em sites anonimamente, suporte de multitouch para JavaScript e plug-ins e muito mais. Voc tambm pode se inscrever em sites do Google automaticamente e sincronizar seus favoritos com o Google Chrome. Reestruturados para dispositivos de tela maior, voc pode acessar facilmente os recursos da cmera, como cmera frontal, flash, foco automtico e muito mais. Os recursos de gravao de vdeo em time-lapse permitem capturar quadros em velocidade mais lenta do que a normal e, ento, reproduzir o vdeo em velocidade normal, fazendo parecer como se o tempo estivesse andando mais rpido. A interface do usurio com dois painis facilita a leitura, a edio e a organizao dos contatos. A rolagem rpida o ajuda a encontrar contatos rapidamente. Use a barra de ao para organizar os emails em pastas e sincronizar anexos. Voc tambm pode usar o widget de email da tela inicial para monitorar suas mensagens facilmente. Veja lbuns no modo tela cheia, com imagens em miniatura para ver outras fotos do lbum.

Multitarefa melhorada

Opes de conectividade Suporte para PTP (Photo Transfer Protocol) e MTP (Media Transfer Protocol)

Tethering com Bluetooth


Navegador

Cmera

Contatos

Email

Galeria

Fig. 1.12 | Novos recursos do Android 3 (developer.android.com/sdk/ android-3.0-highlights.html).

Recurso
Compatibilidade com verses anteriores

Descrio
O Android 3.x compatvel com aplicativos desenvolvidos em verses anteriores do Android.

Fig. 1.13 | Novos recursos para desenvolvedor no Android 3 (developer.android.com/sdk/ android-3.0-highlights.html). (continua)

14

Android para Programadores

Recurso
Interface hologrfica do usurio Adio de layouts de dispositivos de tela grande nos aplicativos existentes Fragmentos de atividade

Descrio
Faa seus aplicativos novos e j existentes terem a nova aparncia hologrfica e o comportamento do Android 3, adicionando um atributo no arquivo de manifesto do aplicativo. Adicione novos layouts e recursos de dispositivos de tela grande em seus aplicativos j existentes, projetados para dispositivos de tela pequena. Divida as atividades do aplicativo em fragmentos modulares, os quais podem ser usados em uma variedade de combinaes. O Google est melhorando essa API para que possa ser usada no Android 1.6 e posteriores. Inclui uma caixa de pesquisa, calendrio, pilha tridimensional, um selecionador de data/hora, selecionador de nmero e muito mais. Agora os widgets da tela inicial podem ser controlados com gestos de toque para rolar e correr pelo contedo. Agora, cada aplicativo tem sua prpria barra de ao persistente, fornecendo aos usurios opes de navegao etc. As melhorias feitas para jogos incluem: Aprimoramentos no desempenho, como um coletor de lixo de execuo concorrente, distribuio mais rpida de eventos e drivers de vdeo atualizados. Eventos de entrada e sensor nativos. Novos sensores giroscpio, barmetro, sensor de gravidade e muito mais para um melhor processamento de movimento tridimensional. API Khronos OpenSL ES para udio nativo. Biblioteca Khronos EGL para gerenciamento nativo de elementos grficos. Acesso nativo ao ciclo de vida de atividades e APIs para gerenciar janelas. API Asset Manager nativa e API Storage Manager. Adicione cones grandes e pequenos, ttulos e flags de prioridade nas notificaes de seus aplicativos, usando a classe builder. Permite aos usurios copiar e colar dados entre vrios aplicativos. Use o framework DragEvent para adicionar recursos de arrastar e soltar em um aplicativo. Permite aos usurios selecionar mltiplos itens de uma lista ou grade. Permite aos usurios transferir quaisquer tipos de arquivos de mdia facilmente entre dispositivos e para um computador host. Execute o Android 3.x em arquiteturas de processador com um ou vrios ncleos para melhorar o desempenho. Os aplicativos podem fornecer uma URL para uma lista de reproduo multimdia no framework de mdia para iniciar uma sesso de HTTP Live Streaming. Isso proporciona um suporte de qualidade mais alta para vdeo adaptvel. Crie elementos grficos tridimensionais de alto desempenho para aplicativos, widgets etc. e clculos de offload para a GPU (unidade de processamento grfico).

Interface do usurio nova e atualizada e widgets da tela inicial Barra de ao Aprimoramentos para jogos

Recursos de notificaes adicionais rea de transferncia Arrastar e soltar Seleo mltipla MTP/PTP (Media/Picture Transfer Protocol) Suporte para arquitetura de processador multincleo HLS (HTTP Live Streaming)

Mecanismo grfico Renderscript 3D

Fig. 1.13 | Novos recursos para desenvolvedor no Android 3 (developer.android.com/sdk/ android-3.0-highlights.html). (continua)

Captulo 1

Introduo ao Android

15

Recurso
Elementos grficos bidimensionais com acelerao por hardware Novo framework de animao Bluetooth A2DP e HSP

Descrio
O novo renderizador OpenGL aumenta o desempenho de operaes grficas comuns. Anima elementos ou objetos da interface do usurio facilmente. APIs para A2DP (Advanced Audio Distribution Profile) e HSP (Headset Profile) do Bluetooth permitem que seus aplicativos verifiquem dispositivos Bluetooth conectados, o nvel da bateria e muito mais. API que permite gerenciar contedo protegido em seus aplicativos. Agora os aplicativos de administrao de dispositivo empresariais podem suportar polticas como expirao de senha e muito mais.

Framework DRM (Digital Rights Management) Novas polticas para aplicativos de administrao de dispositivo

Fig. 1.13 | Novos recursos para desenvolvedor no Android 3 (developer.android.com/sdk/ android-3.0-highlights.html).

1.6 Android Ice Cream Sandwich


O Android Ice Cream Sandwich mescla o Android 2.3 (Gingerbread) e o Android 3.0 (Honeycomb) em um nico sistema operacional para uso em todos os dispositivos Android. Isso permite a incorporao de recursos do Honeycomb como a interface hologrfica do usurio, um novo lanador e muito mais (anteriormente disponveis somente em tablets) em seus aplicativos para smartphone e a fcil adaptao de seus aplicativos facilmente para funcionar em diferentes dispositivos. O Ice Cream Sandwich tambm adiciona novas funcionalidades (Fig. 1.14).

Recurso
Compartilhamento par a par de NFC sem clicar Monitoramento da cabea

Descrio
Os usurios com dispositivos Android compatveis podero compartilhar contedo (por exemplo, contatos, vdeos) ao simplesmente colocar os dispositivos prximos uns aos outros. Usando a cmera, os dispositivos compatveis vo determinar o posicionamento dos olhos, nariz e boca do usurio. A cmera tambm vai acompanhar os olhos do usurio, permitindo criar aplicativos que mudam a perspectiva com base na direo em que o usurio est olhando (por exemplo, cenrios de jogos em 3D). Ao se fazer uma tomada de vdeo, a cmera vai focalizar automaticamente a pessoa que est falando. Por exemplo, se duas pessoas estiverem participando em um lado de uma conversa por vdeo, a cmera vai determinar qual das duas est falando e focalizar essa pessoa. Vai permitir a criao de aplicativos Android para controlar aparelhos eltricos na casa do usurio, como desligar e ligar as luzes (com lmpadas especiais da Lighting Science), ajustar o termostato, controlar o sistema de irrigao e muito mais.

Operador de cmera virtual

Framework Android@Home

Fig. 1.14 | Alguns recursos do Android Ice Cream Sandwich.

16

Android para Programadores

1.7 Baixando aplicativos do Android Market


Quando este livro estava sendo produzido, havia centenas de milhares de aplicativos no Android Market do Google, e o nmero continua a aumentar rapidamente. A Figura 1.15 lista alguns aplicativos Android populares. Voc pode baixar mais aplicativos diretamente em seu dispositivo Android por meio do Android Market. O Android Market o avisa quando h atualizaes disponveis para seus aplicativos baixados. Visite o site market.android.com para conferir os aplicativos em destaque ou consulte alguns dos outros sites de anlise e recomendao de aplicativos Android (Fig. 1.16). Alguns aplicativos so gratuitos e alguns so pagos. Os desenvolvedores definem os preos de seus aplicativos vendidos no Android Market e recebem 70% dos rendimentos. Como uma estratgia de marketing, muitos desenvolvedores de aplicativo oferecem verses bsicas de seus aplicativos gratuitamente para que os usurios possam decidir se gostam deles e, ento, adquirir verses mais completas. Discutimos essa estratgia, conhecida como lite, em mais detalhes na Seo 2.10.

Categoria do Android Market


Quadrinhos Comunicao Entretenimento Finanas Jogos: aventura e ao Jogos: raciocnio Jogos: cartas e cassino Jogos: casual Sade Estilo de vida Multimdia Notcias e clima Produtividade Referncia Compras Social Esportes Temas Ferramentas Viagens Demo Bibliotecas de software

Exemplos de aplicativo
Super-heris da Marvel, calendrio do Dilbert, piadas de Jerry Seinfeld Google Voice, Skype mobile, Wi-Fi Locator, Easy Face Melter, Fingerprint Scanner, Fandango Movies Mint.com Personal Finance, PayPal, Debt Payoff Planner NESoid, Droid Breakout, Raging Thunder 2 Lite, Whac em! Enjoy Sudoku, Spin Cube Lite, Ultimate Simpson Puzzle Texas Holdem Poker, Tarot Cards, Chessmaster City Mayor, LOL Libs, Paper Toss, SuperYatzy Free Edition Fast Food Calorie Counter, CardioTrainer, StopSmoking Zillow Real Estate, Epicurious Recipe App, Family Locator Pandora Radio, Shazam, Last.fm, iSyncr, Camera Illusion The Weather Channel, CNN, NYTimes, FeedR News Reader Adobe Reader, Documents To Go 2.0 Main App Google Sky Map, Dictionary.com, Wikidroid for Wikipedia Gluten Free, Amazon.com, Barcode Scanner, Pkt Auctions eBay Facebook, Twitter for Android, MySpace, Bump, AIM NFL Mobile, Nascar Mobile, Google Scoreboard Pixel Zombies Live Wallpaper, Aquarium Live Wallpaper Compass, Droidlight LED Flashlight, AppAlarm Pro Google Earth, Yelp, Urbanspoon, WHERE, XE Currency Screen Crack, Bubbles, CouponMap, SnowGlobe Translate Tool, Security Guarder, Car Locator Bluetooth Plugin

Fig. 1.15 | Alguns aplicativos Android populares no Android Market.

Captulo 1

Introduo ao Android

17

Nome
AppBrain AndroidLib Android Tapp Appolicious AndroidZoom doubleTwist mplayit

URL
www.appbrain.com/ www.androlib.com/ www.androidtapp.com/ www.androidapps.com/ www.androidzoom.com/ www.doubletwist.com/apps/ mplayit.com/#homepage

Fig. 1.16 | Sites de anlise e recomendao de aplicativos Android.

1.8 Pacotes
O Android usa um conjunto de pacotes, que so grupos nomeados de classes predefinidas e relacionadas. Alguns dos pacotes so especficos do Android, enquanto outros so pacotes do Java e do Google. Esses pacotes permitem acessar convenientemente os recursos do sistema operacional Android e incorpor-los em seus aplicativos. So escritos principalmente em Java e so acessveis para programas Java. Os pacotes Android ajudam a criar aplicativos que obedecem s convenes de aparncia e comportamento exclusivas do Android. A Figura 1.17 lista os pacotes discutidos neste livro. Para uma lista completa de pacotes Android, consulte developer.android.com/reference/packages.html.

Pacote
android.app

Descrio
Inclui classes de alto nvel no modelo de aplicativos Android. (Aplicativo Tip Calculator do Captulo 4.) Servios de sistemas operacionais. (Aplicativo Tip Calculator do Captulo 4.) Renderizao e monitoramento de texto no dispositivo. (Aplicativo Tip Calculator do Captulo 4.) Classes de interface do usurio para widgets. (Aplicativo Tip Calculator do Captulo 4.) Classes de acesso rede. (Aplicativo Favorite Twitter Searches do Captulo 5.) Classes de interface do usurio para layout e interaes do usurio. (Aplicativo Favorite Twitter Searches do Captulo 5.) Streaming, serializao e acesso ao sistema de arquivo de recursos de entrada e sada. (Aplicativo Flag Quiz do Captulo 6.) Classes utilitrias. (Aplicativo Favorite Twitter Searches do Captulo 5.) Classes para acessar recursos de aplicativo (por exemplo, mdia, cores, desenhos etc.) e informaes de configurao de dispositivo que afetam o comportamento dos aplicativos. (Aplicativo Flag Quiz Game do Captulo 6.) Classes para elementos somente para exibio (por exemplo, gradientes etc.). (Aplicativo Flag Quiz Game do Captulo 6.)

android.os

android.text

android.widget

android.net

android.view

java.io

java.util

android.content.res

android.graphics. drawable

Fig. 1.17 | Pacotes Android, Java e Google usados neste livro, listados com o captulo em que aparecem pela primeira vez. (continua)

18

Android para Programadores

Pacote
android.media

Descrio
Classes para manipular interfaces de udio e vdeo. (Aplicativo Spotz Game do Captulo 8.) Mtodos utilitrios e utilitrios XML. (Aplicativo Cannon Game do Captulo 7.) Acesso e publicao de dados em um dispositivo. (Aplicativo Doodlz do Captulo 9.) Suporte para hardware de dispositivo. (Aplicativo Doodlz do Captulo 9 e aplicativo Enhanced Slideshow do Captulo 13.) Acesso a provedores de contedo Android. (Aplicativo Doodlz do Captulo 9.) Manipulao de dados retornados pelo provedor de contedo. (Aplicativo Address Book do Captulo 10.) Gerenciamento de banco de dados SQLite para bancos de dados privados. (Aplicativo Address Book do Captulo 10.) Ferramentas grficas usadas para desenhar na tela. (Aplicativo Route Tracker do Captulo 11.) Servios baseados em localizao. (Aplicativo Route Tracker do Captulo 11.) Usado no aplicativo Route Tracker do Captulo 11. Usado no aplicativo Weather Viewer do Captulo 14. Classes de ligao em rede (por exemplo, manipulao de endereos de Internet e pedidos HTTP). (Aplicativo Weather Viewer do Captulo 14.) Processamento de documentos XML. (Aplicativo Weather Viewer do Captulo 14.) SAX API (Simple API for XML) para ler dados de documentos XML. (Aplicativo Weather Viewer do Captulo 14.) Classes de reconhecimento de voz. (Aplicativo Pizza Ordering do Captulo 15.) Classes de leitura de texto. (Aplicativo Pizza Ordering do Captulo 15.) APIs de telefonia para monitorar informaes de rede, estado da conexo e muito mais. Vamos usar essas APIs para enviar mensagens SMS. (Aplicativo Pizza Ordering do Captulo 15.) Ferramentas grficas OpenGL. (Aplicativo 3D Art do Captulo 18.) Buffers para manipular dados. (Aplicativo 3D Art do Captulo 18.) APIs Khronos EGL para elementos grficos em 3D. (Aplicativo 3D Art do Captulo 18.) Interfaces Khronos OpenGL ES. (Aplicativo 3D Art do Captulo 18.)

android.util

android.content

android.hardware

android.provider

android.database

android.database.sqlite

android.graphics

android.location

com.google.android.maps android.appwidget java.net

javax.xml.parsers

org.xml.sax

android.speech

android.speech.tts android.telephony

android.opengl java.nio javax.microedition. khronos.egl javax.microedition. khronos.opengles

Fig. 1.17 | Pacotes Android, Java e Google usados neste livro, listados com o captulo em que aparecem pela primeira vez.

1.9 O SDK do Android


O SDK (Software Development Kit) do Android fornece as ferramentas necessrias para construir aplicativos Android. Ele est disponvel gratuitamente no site Android Developers. Consulte a seo Antes de comear para ver os detalhes completos sobre como baixar as ferramentas necessrias para desenvolver aplicativos Android, incluindo o Java SE, o IDE Eclipse, o SDK 3.x do Android e o Plugin ADT para Eclipse.

Captulo 1

Introduo ao Android

19

IDE Eclipse
O Eclipse o ambiente de desenvolvimento integrado (IDE Integrated Development Environment) recomendado para desenvolvimento com Android, embora os desenvolvedores tambm possam usar um editor de texto e ferramentas de linha de comando para criar aplicativos Android. O Eclipse suporta muitas linguagens de programao, incluindo Java, C++, C, Python, Perl, Ruby on Rails e muito mais. A ampla maioria do desenvolvimento com Android feita em Java. O IDE Eclipse inclui: Editor de cdigo com suporte para sintaxe colorida e numerao de linha Recuo (auto-indenting) e preenchimento automticos (isto , sugesto de tipo) Depurador Sistema de controle de verso Suporte para refatorao

Voc vai usar o Eclipse na Seo 1.11 para testar o aplicativo Doodlz. A partir do Captulo 3, Aplicativo Welcome, voc vai usar o Eclipse para construir aplicativos.

Plugin ADT para Eclipse


O Plugin ADT (Android Development Tools) para Eclipse uma extenso para o IDE Eclipse permite criar, executar e depurar aplicativos Android, export-los para distribuio (por exemplo, carreg-los no Android Market) e muito mais. O ADT tambm contm uma ferramenta de projeto visual de interface grfica do usurio. Os componentes da interface grfica do usurio podem ser arrastados e soltos no lugar para formar interfaces, sem nenhuma codificao. Voc vai aprender mais sobre o ADT no Captulo 3, Aplicativo Welcome.

O emulador do Android
O emulador do Android, includo no SDK do Android, permite executar aplicativos Android em um ambiente simulado dentro do Windows, Mac OS X ou Linux. O emulador exibe uma janela de interface de usurio realista. Antes de executar um aplicativo no emulador, voc precisa criar um AVD (Android Virtual Device, ou Dispositivo Android Virtual), o qual define as caractersticas do dispositivo em que voc deseja fazer o teste, incluindo o hardware, a imagem do sistema, o tamanho da tela, o armazenamento de dados e muito mais. Se quiser testar seus aplicativos para vrios dispositivos Android, voc precisa criar AVDs separados para emular cada dispositivo exclusivo. Usamos o emulador (no um dispositivo Android real) para obter a maioria das capturas de tela do Android para este livro. No emulador, voc pode reproduzir a maioria dos gestos (Fig. 1.18) e controles (Fig. 1.19) do Android, usando o teclado e o mouse de seu computador. Os gestos com os dedos no emulador so um pouco limitados, pois seu computador provavelmente no capaz simular todos os recursos de hardware do Android. Por exemplo, para testar aplicativos de GPS no emulador, voc precisa criar arquivos que simulem leituras em um GPS. Alm disso, embora seja possvel simular mudanas de orientao (para o modo retrato ou paisagem), no h como simular leituras de acelermetro em particular (o acelermetro mede a orientao e a inclinao do dispositivo). Contudo, voc pode carregar seu aplicativo (fazer upload) em um dispositivo Android para testar esses recursos. Voc ver como isso feito no Captulo 11, com o aplicativo Route Tracker. Voc vai comear a criar AVDs e a usar o emulador para desenvolver aplicativos Android no aplicativo Welcome do Captulo 3.

20

Android para Programadores

Gesto com os dedos


Toque rpido (tap) Duplo toque rpido (double tap) Pressionamento longo (long press) Arrastamento (drag) Pressionamento forte (swipe)

Ao do emulador
Clicar com o mouse uma vez. Apresentado no aplicativo Tip
Calculator, no Captulo 4.

Dar um clique duplo com o mouse. Apresentado no aplicativo


Cannon Game, no Captulo 7.

Movimento rpido (fling)

Gesto de pina (pinch)

Clicar e manter o boto do mouse pressionado. Clicar, manter o boto do mouse pressionado e arrastar. Apresentado no aplicativo Cannon Game, no Captulo 7. Clicar e manter o boto do mouse pressionado, mover o cursor na direo do pressionamento e soltar o mouse. Apresentado no aplicativo Address Book, no Captulo 10. Clicar e manter o boto do mouse pressionado, mover o cursor na direo do movimento e soltar rapidamente. Apresentado no aplicativo Address Book, no Captulo 10. Manter a tecla Ctrl (Control) pressionada. Vo aparecer dois crculos que simulam os dois toques. Mova os crculos para a posio inicial, clique e mantenha o boto do mouse pressionado e arraste os crculos at a posio final. Apresentado no aplicativo Route Tracker, no Captulo 11.

Fig. 1.18 | Gestos no emulador (developer.android.com/guide/developing/tools/ emulator.html).

Controle
Retornar Boto de chamada/discagem Cmera Boto de fim de chamada Home Menu (tecla programvel esquerda) Boto de energia Pesquisar * (tecla programvel direita) Girar para a esquerda Girar para a direita Ligar/desligar rede celular Boto de aumento de volume Boto de diminuio de volume

Ao do emulador
Esc F3 Ctrl-5_TECLADO NUMRICO, Ctrl-F3 F4 Boto Home F2 ou boto Page Up F7 F5 Shift-F2 ou boto Page Down 7_TECLADO NUMRICO, Ctrl-F11 9_TECLADO NUMRICO, Ctrl-F12 F8 SINAL DE ADIO_TECLADO NUMRICO, Ctrl-F5 SINAL DE SUBTRAO_TECLADO NUMRICO, Ctrl-F6

Fig. 1.19 | Controles de hardware do Android no emulador (para ver mais controles, acesse developer.android.com/guide/developing/tools/emulator.html).

1.10 Tecnologia de objetos: uma breve recapitulao


Construir software de forma rpida, correta e econmica continua sendo um objetivo ilusrio em uma poca em que a demanda por software novo e mais poderoso est aumentando. Os objetos ou, mais precisamente conforme veremos no Captulo 3 , as classes

Captulo 1

Introduo ao Android

21

de onde os objetos vm, so basicamente componentes de software reutilizveis. Existem objetos de data, objetos de tempo, objetos de udio, objetos de vdeo, objetos de automveis, objetos de pessoas etc. Praticamente qualquer substantivo pode ser representado de forma razovel como um objeto de software, em termos de atributos (por exemplo, nome, cor e tamanho) e comportamentos (por exemplo, clculo, movimento e comunicao). Os desenvolvedores de software esto descobrindo que usar uma estratgia de projeto e implementao modular e orientada a objetos pode tornar os grupos de desenvolvimento de software muito mais produtivos do que era possvel com tcnicas anteriormente populares, como a programao estruturada frequentemente, os programas orientados a objetos so mais fceis de entender, corrigir e modificar.

O automvel como um objeto


Para ajud-lo a entender os objetos e seu contedo, vamos comear com uma analogia simples. Suponha que voc queira dirigir um carro e faz-lo ir mais rpido pressionando o pedal do acelerador. O que precisa acontecer antes que voc possa fazer isso? Bem, antes que voc possa dirigir um carro, algum tem de projet-lo. Normalmente, um carro comea com desenhos de engenharia, semelhantes s plantas baixas que descrevem o projeto de uma casa. Esses desenhos incluem o projeto de um pedal acelerador. O pedal esconde do motorista os mecanismos complexos que fazem o carro ir mais rpido, assim como o pedal do freio esconde os mecanismos que diminuem a velocidade do carro e o volante esconde os mecanismos que fazem o carro desviar. Isso permite que pessoas com pouco ou nenhum conhecimento do funcionamento de motores, freios e mecanismos de direo dirijam um carro facilmente. Assim como no se pode fazer comida na cozinha de uma planta baixa, tampouco possvel dirigir os desenhos de engenharia de um carro. Antes que voc possa dirigir um carro, ele precisa ser construdo a partir dos desenhos de engenharia que o descrevem. Um carro pronto tem um pedal acelerador real para fazer o carro ir mais rpido, mas mesmo isso no suficiente o carro no acelera sozinho (espera-se!), de modo que o motorista precisa pressionar o pedal para aceler-lo.

Mtodos e classes
Usemos nosso exemplo do carro para introduzir alguns conceitos importantes de programao orientada a objetos. Executar uma tarefa em um programa exige um mtodo. O mtodo contm as instrues do programa que realmente executam suas tarefas. O mtodo oculta essas instrues de seu usurio, assim como o pedal acelerador de um carro oculta do motorista os mecanismos que fazem o carro ir mais rpido. Uma unidade de programa, chamada classe, contm os mtodos que executam as tarefas da classe. Por exemplo, uma classe que represente uma conta bancria poderia conter um mtodo para depositar dinheiro em uma conta, outro para sacar dinheiro de uma conta e um terceiro para informar o saldo da conta. Uma classe conceitualmente semelhante aos desenhos de engenharia de um carro, os quais contm o projeto de um pedal acelerador, volante etc.

Instanciao
Assim como algum precisa construir um carro a partir de seus desenhos de engenharia antes que voc possa dirigi-lo, preciso construir um objeto de uma classe antes que um programa possa executar as tarefas que os mtodos da classe definem. O processo de fazer isso chamado de instanciao. Um objeto, ento, uma instncia de sua classe.

22

Android para Programadores

Reutilizao
Assim como os desenhos de engenharia de um carro podem ser reutilizados muitas vezes para se construir muitos carros, voc pode reutilizar uma classe muitas vezes para construir muitos objetos. A reutilizao de classes j existentes ao se construir novas classes e programas economiza tempo e trabalho. A reutilizao tambm o ajuda a construir sistemas mais confiveis e eficientes, pois as classes e componentes j existentes frequentemente passaram por extensivos testes, depurao e otimizao de desempenho. Assim como a noo de partes intercambiveis foi fundamental para a Revoluo Industrial, as classes reutilizveis so fundamentais para a revoluo na rea de software estimulada pela tecnologia de objetos.

Mensagens e chamadas de mtodo


Quando voc dirige um carro, pressionar o acelerador envia uma mensagem para o carro executar uma tarefa ou seja, ir mais rpido. Da mesma forma, voc envia mensagens para um objeto. Cada mensagem uma chamada de mtodo que diz a um mtodo do objeto para que execute sua tarefa. Por exemplo, um programa poderia chamar um mtodo depositar de um objeto de conta bancria em particular para que ele aumentasse o saldo da conta.

Atributos e variveis de instncia


Um carro, alm de ter recursos para cumprir tarefas, tambm tem atributos, como cor, nmero de portas, capacidade de combustvel no tanque, velocidade atual e registro do total de quilmetros rodados (isto , a leitura de seu odmetro). Assim como seus recursos, os atributos do carro so representados como parte de seu projeto nos diagramas de engenharia (os quais, por exemplo, incluem um odmetro e um medidor de combustvel). Quando voc dirige um carro, esses atributos so transportados junto com o veculo. Todo carro mantm seus prprios atributos. Por exemplo, cada carro sabe a quantidade de combustvel existente no tanque, mas no o quanto existe nos tanques de outros carros. Da mesma forma, um objeto tem atributos que carrega consigo quando usado em um programa. Esses atributos so especificados como parte da classe do objeto. Por exemplo, um objeto de conta bancria tem um atributo de saldo que representa a quantidade de dinheiro existente na conta. Cada objeto de conta bancria sabe o saldo da conta que representa, mas no os saldos das outras contas bancrias. Os atributos so especificados pelas variveis de instncia da classe.

Encapsulamento
As classes encapsulam (isto , empacotam) atributos e mtodos nos objetos os atributos e mtodos de um objeto esto intimamente relacionados. Os objetos podem se comunicar entre si, mas normalmente no podem saber como outros objetos so implementados os detalhes da implementao ficam ocultos dentro dos prprios objetos. Essa ocultao de informaes fundamental para a boa engenharia de software.

Herana
Uma nova classe de objetos pode ser criada rpida e convenientemente por meio de herana a nova classe absorve as caractersticas de outra j existente, possivelmente personalizando-as e adicionando suas prprias caractersticas exclusivas. Em nossa analogia automobilstica, um conversvel certamente um objeto da classe mais geral automvel, mas mais especificamente, o teto pode ser levantado ou abaixado.

Captulo 1

Introduo ao Android

23

Anlise e projeto orientados a objetos


Como voc vai criar o cdigo de seus programas? Talvez, como muitos programadores, voc simplesmente ligue o computador e comece a digitar. Essa estratgia pode funcionar para programas pequenos, mas e se voc fosse solicitado a criar um sistema de software para controlar milhares de caixas eletrnicos para um grande banco? Ou ento, suponha que voc fosse solicitado a trabalhar em uma equipe com 1.000 desenvolvedores de software para construir o prximo sistema de controle de trfego areo dos Estados Unidos. Para projetos to grandes e complexos, voc no deve simplesmente sentar-se e comear a escrever programas. Para criar as melhores solues, voc deve seguir um processo de anlise detalhado para determinar os requisitos de seu projeto (isto , definir o que o sistema deve fazer) e desenvolver um projeto que os satisfaa (isto , decidir como o sistema deve fazer isso). De maneira ideal, voc passaria por esse processo e examinaria o projeto cuidadosamente (e teria seu projeto examinado por outros profissionais de software), antes de escrever qualquer cdigo. Se esse processo envolve analisar e projetar seu sistema do ponto de vista orientado a objetos, ele denominado processo de anlise e projeto orientados a objetos (OOAD Object-Oriented Analysis and Design). Linguagens como Java so orientadas a objetos. Programar em uma linguagem assim, o que chamado de programao orientada a objetos (OOP), permite implementar um projeto orientado a objetos como um sistema funcional.

1.11 Teste do aplicativo Doodlz em um AVD


Nesta seo, voc vai executar e interagir com seu primeiro aplicativo Android. O aplicativo Doodlz permite que o usurio pinte na tela usando diferentes tamanhos e cores de pincel. Voc vai construir esse aplicativo no Captulo 9. Os passos a seguir mostram como importar o projeto do aplicativo para o Eclipse e como testar o aplicativo no AVD (Dispositivo Android Virtual) que voc configurou na seo Antes de comear, aps o Prefcio. Posteriormente nesta seo, vamos discutir tambm como se executa o aplicativo em um dispositivo Android real. As capturas de tela nos passos a seguir (e por todo este livro) foram obtidas em um computador com Windows 7, Java SE 6, Eclipse 3.6.1, Android 2.2/2.3/3.0 e o Plugin ADT para Eclipse. 1. Verificando sua configurao. Confirme se voc configurou seu computador corretamente para desenvolver aplicativos Android, lendo a seo Antes de comear. 2. Abrindo o Eclipse. Para iniciar o Eclipse, abra a pasta que contm o Eclipse em seu sistema e d um clique duplo no cone Eclipse ( ). Se essa a primeira vez que voc abre o Eclipse, a guia Welcome (Fig. 1.20) vai se abrir. Clique no boto Workbench para fechar essa guia e trocar para o modo de exibio de desenvolvimento de programas formalmente, ele chamado de perspectiva Java no Eclipse. 3. Abrindo a caixa de dilogo Import. Selecione File > Import para abrir a caixa de dilogo Import (Fig. 1.21). 4. Importando o projeto do aplicativo Doodlz. Na caixa de dilogo Import, expanda o n General e selecione Existing Projects into Workspace; em seguida, clique em Next > para ir ao passo Import Projects (Fig. 1.22). Certifique-se de que Select root directory esteja selecionado e, em seguida, clique no boto Browse

24

Android para Programadores

Overview

What s New

Sam p les

Tut o rials

Workbench

Fig. 1.20 | Guia Welcome to Eclipse no Eclipse.

Fig. 1.21 | Caixa de dilogo Import.

Na caixa de dilogo Browse For Folder (Fig. 1.23), localize a pasta Doodlz na pasta de exemplos do livro, selecione-a e clique em OK. Clique em Finish a fim de importar o projeto para o Eclipse. Agora o projeto aparece na janela Package Explorer (Fig. 1.24), no lado esquerdo da janela do Eclipse. 5. Ativando o aplicativo Doodlz. No Eclipse, selecione o projeto Doodlz na janela Package Explorer (Fig. 1.24) e, em seguida, selecione Run As > Android Application no menu suspenso do boto Run As ( ), na barra de ferramentas do IDE (Fig. 1.25).

Captulo 1

Introduo ao Android

25

Fig. 1.22 | Passo Import Projects da caixa de dilogo Import.

Fig. 1.23 | Caixa de dilogo Browser For Folder.

Fig. 1.24 | Janela Package Explorer no Eclipse.

Isso executa o aplicativo Doodlz no AVD (Dispositivo Virtual Android) NexusS (Fig. 1.26) criado na seo Antes de comear. Se preferir testar o aplicativo em um AVD diferente, selecione Window > Android SDK and AVD Manager e, em seguida, selecione o AVD desejado e clique em Start. Se vrios AVDs estiverem em execuo quando voc ativar um aplicativo, a caixa de dilogo Android Device Chooser vai aparecer para permitir a escolha do AVD para executar o aplicativo. Discutiremos a caixa de dilogo Android Device Chooser posteriormente nesta seo.

26

Android para Programadores

6. Explorando o AVD. O lado esquerdo do AVD mostra o aplicativo em execuo. O lado direito (Fig. 1.27) contm vrios botes que simulam os botes fsicos e de tela de um dispositivo Android real e um teclado que simula o teclado fsico ou de tela do dispositivo. Os botes fsicos so os botes reais de um dispositivo. Os botes de tela so aqueles que aparecem na tela de toque do dispositivo. Os botes do AVD so usados para interagir com os aplicativos e com o sistema operacional Android do AVD. Quando o aplicativo instalado em um dispositivo Android, voc pode criar uma nova pintura arrastando seu dedo em qualquer lugar na tela de desenho. No AVD, voc toca na tela usando o mouse.

Boto
Run As

Fig. 1.25 | Ativando o aplicativo Doodlz.

Fig. 1.26 | AVD (Dispositivo Android Virtual) com o aplicativo Doodlz em execuo.

Captulo 1

Introduo ao Android

27

Boto Camera (cmera) Boto Volume Down (diminuir volume) Boto Start Call (iniciar chamada) Boto Menu Boto Home (incio) Botes de navegao e boto de seleo Select (central) Teclado

Boto Power (ligar/desligar) Boto Volume Up (aumentar volume) Boto End Call (finalizar chamada) Boto Back (voltar) Boto Search (pesquisar)

Fig. 1.27 | AVD (Dispositivo Android Virtual) com o aplicativo Doodlz em execuo.

7. Exibindo as opes do aplicativo. Para exibir as opes do aplicativo, toque no boto Menu ( ) em alguns dispositivos reais, esse boto aparece como barras horizontais paralelas ( ). Agora o aplicativo aparece como mostrado na Figura 1.28. As opes incluem Color, Line Width, Erase, Clear e Save Image. Tocar em Color exibe uma interface para mudar a cor da linha. Tocar em Line Width exibe uma interface para mudar a espessura da linha que vai ser desenhada. Tocar em Erase configura a cor de desenho como branca para que, quando voc desenhar sobre reas coloridas, a cor seja apagada. Tocar em Clear apaga o desenho inteiro. Tocar em Save Image salva a imagem na galeria (Gallery) de imagens do dispositivo. Voc vai explorar cada uma dessas opes em breve. 8. Mudando a cor do pincel para vermelha. Para mudar a cor do pincel, primeiramente toque no item Color do menu a fim de exibir a interface para alterar a cor (Fig. 1.29(a)). As cores so definidas no esquema de cores RGBA, no qual os componentes vermelho, verde, azul e alfa so especificados por valores inteiros no intervalo 0 a 255. A interface consiste nas barras de escolha (SeekBars) Red, Green, Blue e Alpha, que permitem selecionar a quantidade de vermelho, verde, azul e transparncia da cor de desenho. Voc arrasta as barras de escolha para mudar a cor. Quando voc faz isso, o aplicativo exibe a nova cor. Selecione uma cor vermelha agora, arrastando a barra de escolha Red para a direita, como na Figura 1.29(a). Toque no boto Done para voltar rea de desenho. Arraste seu dedo (isto , o mouse) pela tela para desenhar as ptalas da flor (Fig. 1.29(b)). 9. Mudando a cor do pincel para verde-escuro. Mude a cor do desenho novamente, tocando no boto Menu ( ) do AVD e, ento, tocando em Color. Selecione um tom escuro de verde arrastando a barra de escolha Green para a direita e certificando-se de que as barras de escolha Red e Blue estejam na extremidade esquerda (Fig. 1.30(a)).

28

Android para Programadores

rea de desenho

Opes de menu do aplicativo Doodlz

Fig. 1.28 | Opes de menu do aplicativo Doodlz.


a) Selecionando a cor vermelha como a cor do desenho b) Desenhando as ptalas da flor em vermelho

Barras de escolha para mudar a cor

Cor atual (vermelha) Boto Done

Fig. 1.29 | Mudando a cor do desenho para vermelha e desenhando ptalas de flor.

10. Mudando a largura da linha. Para mudar a largura da linha, toque no boto Menu ( ) e, em seguida, toque em Line Width. Arraste a barra de escolha da largura de linha para a direita, a fim de tornar a linha mais grossa (Fig. 1.30(b)). Toque no boto Done a fim de voltar rea de desenho. Desenhe o caule e as folhas da flor. Repita os passos 9 e 10 para uma cor verde mais clara e uma linha mais fina e, em seguida, desenhe a grama. (Fig. 1.31).

Captulo 1

Introduo ao Android

29

a) Selecionando verde-escuro como a cor do desenho

b) Selecionando uma linha mais grossa

Exibe a linha na cor de desenho (verde) e a largura de linha atuais Barra de pesquisa para controlar a largura da linha

Fig. 1.30 | Mudando a cor e a largura da linha.


Desenhando o caule, as folhas e a grama

Fig. 1.31 | Desenhando o caule e a grama nas novas cor e largura de linha.

11. Finalizando o desenho. Use as instrues dos passos 9 e 10 a fim de mudar a cor do desenho para azul (Fig. 1.32(a)) e selecione uma linha mais estreita (Fig. 1.32(b)). Volte para a rea de desenho e desenhe os pingos de chuva (Fig. 1.33).

30

Android para Programadores

a) Selecionando azul como a cor do desenho

b) Selecionando uma linha mais fina

Fig. 1.32 | Mudando a cor e a largura da linha.


c)

Fig. 1.33 | Desenhando a chuva nas novas cor e largura de linha.

12. Salvando a imagem. Se quiser, voc pode salvar a imagem na galeria tocando no boto Menu ( ) e, em seguida, tocando em Save Image. Ento, voc pode ver essa e outras imagens armazenadas no dispositivo abrindo o aplicativo Gallery. 13. Retornando tela inicial. Voc pode voltar tela inicial do AVD clicando no boto da casa ( ) no AVD.

Captulo 1

Introduo ao Android

31

Executando o aplicativo Doodlz em um dispositivo Android


Caso voc possua um dispositivo Android, voc pode executar um aplicativo nele facilmente para propsitos de teste. 1. Primeiramente, voc deve habilitar a depurao no dispositivo. Para isso, acesse o aplicativo Settings do dispositivo e, em seguida, selecione Applications > Development e certifique-se de que USB debugging esteja marcado. 2. Em seguida, conecte o dispositivo em seu computador por meio de um cabo USB normalmente, ele j vem com o dispositivo quando voc o adquire. 3. No Eclipse, selecione o projeto Doodlz na janela Package Explorer e, em seguida, selecione Run As > Android Application no menu suspenso do boto Run As ( ), na barra de ferramentas do IDE (Fig. 1.25). Se voc no tiver nenhum AVD aberto, mas tiver um dispositivo Android conectado, o IDE vai instalar o aplicativo em seu dispositivo e execut-lo automaticamente. Caso voc tenha um ou mais AVDs abertos e/ou dispositivos conectados, a caixa de dilogo Android Device Chooser (Fig. 1.34) vai aparecer para que o AVD ou dispositivo no qual o aplicativo que vai ser instalado e executado possa ser selecionado. Neste caso, primeiramente iniciamos dois AVDs e conectamos um dispositivo real, de modo que existem trs dispositivos nos quais poderamos executar o aplicativo. Configuramos vrios AVDs para que pudssemos simular dispositivos Android reais com diferentes verses do sistema operacional Android e diferentes tamanhos de tela. Na seo Choose a running Android device da Figura 1.34, a caixa de dilogo mostra que temos um dispositivo real conectado no computador (representado pela segunda linha na lista de dispositivos) e trs AVDs. Cada AVD tem um nome (AVD Name) que escolhemos (NexusS e MotorolaXoom). Selecione o dispositivo ou AVD que voc deseja usar e, em seguida, clique em OK para instalar e executar o aplicativo nesse dispositivo

Fig. 1.34 | Caixa de dilogo Android Device Chooser.

32

Android para Programadores

ou AVD. Caso voc tenha definido outros AVDs e eles no estejam sendo executados no momento, pode usar a metade inferior dessa caixa de dilogo para selecionar e ativar um desses AVDs. Ao construir aplicativos para distribuio no Android Market, voc deve test-los no mximo de dispositivos reais que puder. Lembre-se de que alguns recursos podem ser testados somente em dispositivos reais. Caso voc no tenha muitos dispositivos reais disponveis, cogite criar AVDs que simulem os vrios dispositivos nos quais gostaria de executar seu aplicativo. Ao configurar cada AVD para simular um dispositivo real especfico, pesquise as especificaes do dispositivo real online e configure o AVD de modo correspondente. Alm disso, voc pode modificar o arquivo config.ini do AVD, conforme descrito na seo Setting hardware emulation options, no endereo
developer.android.com/guide/developing/tools/avd.html

Esse arquivo contm opes que no podem ser configuradas por meio do Plugin ADT no Eclipse. Modificando-se essas opes possvel faz-las corresponder mais precisamente configurao de hardware de um dispositivo real.

1.12 Recursos da Deitel


O site www.deitel.com fornece mais de 100 Resource Centers sobre vrios assuntos, incluindo linguagens de programao, desenvolvimento de software, Web 2.0, comrcio eletrnico e projetos de cdigo-fonte aberto. Os Resource Centers evoluem da pesquisa que fazemos para apoiar nossas publicaes e empreendimentos comerciais. Encontramos muitos recursos excepcionais online, incluindo tutoriais, documentao, downloads de software, artigos, blogs, podcasts, vdeos, exemplos de cdigo, livros, e-books e muito mais a maior parte, de graa. Anunciamos nossos Resource Centers mais recentes em nosso boletim, o Deitel Buzz Online, no Facebook e no Twitter. A Figura 1.35 fornece uma lista dos recursos da Deitel que podem ajud-lo nos primeiros passos do desenvolvimento de aplicativos Android.

Recurso para Android da Deitel


Pgina deste livro Android Resource Center Android Best Practices Resource Center Java Resource Center Eclipse Resource Center SQLite 3 Resource Center Deitel Resource Centers homepage Deitel on Facebook Deitel no Twitter Boletim por email Deitel Buzz Online

URL
www.deitel.com/books/AndroidFP/ www.deitel.com/android/ www.deitel.com/ androidbestpractices/ www.deitel.com/java/ www.deitel.com/Eclipse/ www.deitel.com/SQLite3/ www.deitel.com/ResourceCenters.html www.deitel.com/DeitelFan/ @deitel www.deitel.com/newsletter/ subscribe.html

Fig. 1.35 | Recursos para Android da Deitel.

Captulo 1

Introduo ao Android

33

1.13 Recursos para desenvolvimento com Android


A Figura 1.36 uma lista de recursos para desenvolvimento com Android. A Figura 1.37 lista vrios vdeos para desenvolvedores Android disponveis no endereo developer.android.com. Para recursos adicionais, visite o Android Resource Center, em www.deitel. com/android.
Dicas e recursos para desenvolvimento com Android
Canal no YouTube para desenvolvedores de Android Exemplos de aplicativos Android do Google Artigo da OReilly, Ten Tips for Android Application Development Site Bright Hub para dicas e guias prticos sobre programao com Android O artigo, 10 User Experience Tips for Successful Android Apps Dicas rpidas para desenvolvimento com Android O tutorial Working with XML on Android: Build Java applications for mobile devices, de Michael Galpin, arquiteto de software da eBay O blog Android Developers O Sprint Application Developers Program O site para desenvolvedor de T-Mobile Android Developer Center do HTC para desenvolvimento com Android e Windows Mobile O site da Motorola para desenvolvimento com Android

URL
www.youtube.com/user/androiddevelopers

code.google.com/p/apps-for-android/

answers.oreilly.com/topic/862-ten-tips-for-androidapplication-development/ www.brighthub.com/mobile/google-android.aspx

www.androidtapp.com/10-user-experience-tips-forsuccessful-android-apps/ www.droidnova.com/

www.ibm.com/developerworks/opensource/library/xandroid/index.html

android-developers.blogspot.com/ developer.sprint.com/site/global/develop/mobile_ platforms/android/android.jsp developer.t-mobile.com/site/global/resources/partner_ hubs/android/p_android.jsp developer.htc.com/

developer.motorola.com/

Fig. 1.36 | Dicas e recursos para desenvolvimento com Android.

Vdeo
Androidology, Part 1 of 3: Architecture Overview Androidology, Part 2 of 3: Application Lifecycle Androidology, Part 3 of 3: APIs

URL
developer.android.com/videos/index. html#v=QBGfUs9mQYY developer.android.com/videos/index. html#v=fL6gSd4ugSI developer.android.com/videos/index. html#v=MPukbH6D-lY

Fig. 1.37 | Vdeos para desenvolvedor de Android. (continua)

34

Android para Programadores

Vdeo
Android Developer Soapbox: Easy for Java Developers, Build Desktop Widgets A Beginners Guide to Android The World of List View Android UI Design Patterns Writing Zippy Android Apps Casting a Wide Net for All Android Devices Building Push Applications for Android

URL
developer.android.com/videos/index. html#v=FTAxE6SIWeI developer.android.com/videos/index. html#v=yqCj83leYRE developer.android.com/videos/index. html#v=wDBM6wVEO70 developer.android.com/videos/index. html#v=M1ZBjlCRfz0 developer.android.com/videos/index. html#v=c4znvD-7VDA developer.android.com/videos/index. html#v=zNmohaZYvPw developer.android.com/videos/index. html#v=PLM4LajwDVc

Fig. 1.37 | Vdeos para desenvolvedor de Android.

1.14 Para finalizar


Este captulo apresentou uma breve histria do Android e examinou sua funcionalidade. Discutiu recursos do sistema operacional Android 2.2, 2.3 e 3.0. Forneceu links para parte da documentao online importante e para grupos de discusso e fruns que voc pode usar para se conectar comunidade de desenvolvedores. Discutiu o Android Market e forneceu links para alguns sites de anlise e recomendao de aplicativos conhecidos. Voc aprendeu sobre os gestos no Android e como fazer cada um deles em um dispositivo Android e no emulador. Conheceu os pacotes Java, Android e Google que permitem usar as funcionalidades de hardware e software necessrias para construir seus aplicativos Android. Voc vai usar muitos desses pacotes neste livro. Voc viu tambm a programao em Java e o SDK do Android e passou por uma recapitulao rpida sobre os conceitos bsicos da tecnologia de objetos, incluindo classes, objetos, atributos e comportamentos. Por fim, testou o aplicativo Doodlz no emulador do Android. No Captulo 2, vamos discutir o lado comercial do desenvolvimento de aplicativos Android. Voc aprender a preparar seus aplicativos para enviar ao Android Market e ver dicas para determinar o preo e comercializar seu aplicativo. Ver tambm como usar os recursos do Android Market para monitorar as vendas de aplicativo, os pagamentos e muito mais.

Potrebbero piacerti anche