Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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
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.
Stack Overflow
stackoverflow.com/questions/tagged/ android
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.
1 2 3
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/
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
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/.
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.
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).
Captulo 1
Introduo ao Android
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
Senhas
Limpeza Remota
Contatos e contas
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/
Dicionrio aprimorado
Navegador
Framework de mdia
Bluetooth
* 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.
Captulo 1
Introduo ao Android
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
Framework de mdia
code.google.com/android/c2dm/.
10
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
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/
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.
Aplicativo Downloads
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
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.
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.
6 7
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)
Cmera
Contatos
Galeria
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
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)
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
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.
Framework Android@Home
16
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
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
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
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
javax.xml.parsers
org.xml.sax
android.speech
android.speech.tts android.telephony
Fig. 1.17 | Pacotes Android, Java e Google usados neste livro, listados com o captulo em que aparecem pela primeira vez.
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.
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
Ao do emulador
Clicar com o mouse uma vez. Apresentado no aplicativo Tip
Calculator, no Captulo 4.
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.
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).
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.
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
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.
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
24
Overview
What s New
Sam p les
Tut o rials
Workbench
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
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
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.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
rea de desenho
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
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.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
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
32
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.
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
Captulo 1
Introduo ao Android
33
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
developer.motorola.com/
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
34
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