Você está na página 1de 12

Novatec

Ricardo R. Lecheta
Google
Aprenda a criar aplicaes para dispositivos mveis
com o Android SDK
2 Edio
19
CAPTULO 1
Introduo ao Android
1.1 Introduo
O mercado de celulares est crescendo cada vez mais. Estudos mostram que hoje em
dia mais de 3 bilhes de pessoas possuem um aparelho celular, e isso corresponde
a mais ou menos metade da populao mundial.
Hoje em dia os usurios comuns esto procurando cada vez mais celulares com
diversos recursos como cmeras, msicas, bluetooth, tima interface visual, jogos,
GPS, acesso a internet e e-mails, e agora ainda temos a TV digital.
O mercado corporativo tambm est crescendo muito, e diversas empresas esto
buscando incorporar aplicaes mveis a seu dia-a-dia para agilizar seus negcios e
integrar as aplicaes mveis com seus sistemas de back-end. Empresas obviamente
visam lucro e mais lucro, e os celulares e smartphones podem ocupar um importante
espao em um mundo onde a palavra mobilidade est cada vez mais conhecida.
Desta forma aplicaes que executam em um celular podem estar literalmente
conectadas e online, sincronizando informaes diretamente de um servidor con-
vel da empresa. Hoje em dia diversos bancos oferecem servios aos seus usu-
rios, onde possvel pagar suas contas e visualizar o extrato de sua conta corrente
diretamente de um celular. Pases mais desenvolvidos j permitem que celulares
sejam utilizados em mercados para ler os cdigos de barras dos produtos e realizar
a compra apenas com o celular, como se fosse um carto de crdito. O que todos
precisavam na verdade era uma plataforma poderosa e exvel para tornar tudo isso
mais vivel e cada vez mais uma realidade para todos.
As empresas e os desenvolvedores buscam uma plataforma moderna e gil para o
desenvolvimento de aplicaes coorporativas para auxiliar em seus negcios e lucros.
Google Android
20
J os usurios comuns buscam um celular com um visual elegante e moderno, de
fcil navegao e uma innidade de recursos. Agora, ser que existe algum para
atender esses dois mundos completamente diferentes?
Para acompanhar essa evoluo da tecnologia e satisfazer os usurios, os fabri-
cantes e operadoras de celulares, as empresas e ns, os desenvolvedores, existe uma
grande corrida estrelada pelas maiores empresas do mundo em tecnologia mvel
para competir por esse nicho do mercado.
O Android a resposta do Google para ocupar esse espao. Consiste em uma
nova plataforma de desenvolvimento para aplicativos mveis, baseada em um sistema
operacional Linux, com diversas aplicaes j instaladas e, ainda, um ambiente de
desenvolvimento bastante poderoso, ousado e exvel.
O Android causou um grande impacto quando foi anunciado, atraindo a ateno
de muita gente. Podemos dizer que isso aconteceu porque por trs dele est nada
mais nada menos do que o Google, a empresa que est revolucionando a internet.
Entretanto, no apenas o Google que est na jogada, e sim um grupo formado
por empresas lderes do mercado de telefonia como a Motorola, LG, Samsung,
Sony Ericsson e muitas outras. Esse grupo, chamado de Open Handset Alliance
(OHA) foi criado com a inteno de padronizar uma plataforma de cdigo aberto
e livre para celulares, justamente para atender a todas as expectativas e tendncias
do mercado atual.
Existem diversos vdeos interessantes no YouTube que demonstram alguns
recursos do Android, e alguns chegam a impressionar. Os vdeos mostram algu-
mas funcionalidades bsicas como navegao na internet com a tela touch screen,
reconhecimento de cdigo de barras, uma demonstrao do famoso jogo Quake
executando perfeitamente com uma tima resoluo e muito mais.
Um desses vdeos apresenta um dos clssicos recursos da plataforma e, em de-
terminado momento, o apresentador diz algo como: Hum, estou com fome, gosto
de comer sushi, ser que existe algum restaurante japons por aqui? E ele acessa
o Google Maps para buscar os restaurantes mais prximos, sendo que utilizando
GPS possvel saber sua exata localizao e traar a rota para o restaurante mais
prximo desejado. isso: os celulares no so mais apenas usados para atender
ligaes, sendo agora verdadeiras mquinas repletas de tecnologia para voc usufruir.
Este livro foca no desenvolvimento de aplicaes para o Android, utilizando a
linguagem Java e a verso 2.2 do SDK. Em cada captulo, novos conceitos e ideias
sero apresentados, para que voc saia na frente e possa estar preparado para quando
esse mercado explodir.
21
Captulo 1

Introduo ao Android
1.2 Open Handset Alliance e o Android
A Open Handset Alliance (OHA) um grupo formado por gigantes do mercado
de telefonia de celulares liderados pelo Google. Entre alguns integrantes do grupo
esto nomes consagrados como a HTC, LG, Motorola, Samsung, Sony Ericsson,
Toshiba, Sprint Nextel, China Mobile, T-Mobile, ASUS, Intel, Garmin e muito mais.
Quando este livro foi escrito, o grupo era formado por 47 integrantes de peso, e
voc pode vericar a lista completa neste endereo:
http://www.openhandsetalliance.com/oha_members.html
No site da OHA existe uma tima descrio do que seria essa aliana. O texto
est em ingls e vou apenas traduzir uma breve citao aqui. Hoje, existem 1,5 bi-
lho de aparelhos de televiso em uso em todo o mundo e 1 bilho de pessoas tm
acesso internet. No entanto, quase 3 bilhes de pessoas tm um telefone celular,
tornando o aparelho um dos produtos de consumo mais bem-sucedidos do mundo.
Dessa forma, construir um aparelho celular superior melhoraria a vida de inme-
ras pessoas em todo o mundo. A Open Handset Alliance um grupo formado por
empresas lderes em tecnologia mvel que compartilham essa viso para mudar a
experincia mvel de todos os consumidores [...].
Assim, o objetivo do grupo denir uma plataforma nica e aberta para ce-
lulares para deixar os consumidores mais satisfeitos com o produto nal. Outro
objetivo principal dessa aliana criar uma plataforma moderna e exvel para o
desenvolvimento de aplicaes coorporativas. O resultado dessa unio, como voc
j deve saber, foi o nascimento do Android.
O Android a nova plataforma de desenvolvimento para aplicativos mveis
como smarthphones e contm um sistema operacional baseado em Linux, uma
interface visual rica, GPS, diversas aplicaes j instaladas e ainda um ambiente
de desenvolvimento bastante poderoso, inovador e exvel. Outra boa notcia
que podemos utilizar a consagrada linguagem Java para desenvolver as aplicaes,
usufruindo de todos os recursos a que temos direito.
Todos acabam se beneciando dessa unio: os fabricantes de celulares, os usu-
rios comuns e, claro, os desenvolvedores de aplicaes.
Os usurios de celulares so extremamente favorecidos com tudo isso. Hoje
em dia, todos querem um celular com um bom visual, de fcil usabilidade, com
tela touch screen, cmera, msicas, jogos, GPS, acesso internet e muito mais, e o
celular est cada vez mais ocupando um espao importante na vida das pessoas. O
Android foi criado justamente pensando em agradar esses usurios, possibilitando
que encontrem todos os recursos esperados em apenas um aparelho. O mundo da
Google Android
22
tecnologia est sempre em evoluo, e a OHA foi criada justamente para manter uma
plataforma-padro onde todas as novas tendncias do mercado estejam englobadas
em uma nica soluo.
Para os fabricantes de celulares, o fato de existir uma plataforma nica e conso-
lidada uma grande vantagem para criar novos aparelhos. A grande vantagem para
eles que a plataforma tambm livre e de cdigo aberto. A licena do Android
exvel e permite que cada fabricante possa realizar alteraes no cdigo-fonte para
customizar seus produtos, e o melhor de tudo, sem necessidade de compartilhar
essas alteraes com ningum. O Android tambm free, e os fabricantes podem
usar e abusar dele sem precisar pagar por isso.
O fato de o Android ser de cdigo aberto contribui muito para seu aperfeioa-
mento, uma vez que desenvolvedores de todos os lugares do mundo podem contri-
buir para seu cdigo-fonte, adicionando novas funcionalidades ou simplesmente
corrigindo falhas.
J os desenvolvedores de aplicaes podem desfrutar de uma plataforma de
desenvolvimento moderna com diversos recursos incrveis, com tudo o que h de
mais moderno. Este o tema deste livro: o desenvolvimento de aplicaes com o
Android. E aqui voc vai entender o porqu de toda essa revoluo.
1.3 Conhecendo um pouco mais sobre o Android
Todo celular tem uma tela inicial com alguns cones e um menu, certo? Todo celular
tambm tem uma agenda de contatos e uma tela para fazer a ligao, no ?
Agora, voc j pensou em trocar algumas dessas telas por uma tela customizada
desenvolvida por voc? Com o Android isso possvel. Sua arquitetura muito
exvel e voc pode integrar aplicaes nativas com sua aplicao, ou at mesmo
substituir qualquer aplicao nativa existente por uma que voc mesmo criou. Creio
que as operadoras ou fabricantes de celulares vo gostar dessa funcionalidade, j
que dessa forma possvel trocar as telas e funcionalidades do celular para fazer
aquele marketing bsico.
possvel integrar aplicaes de uma forma simples, sejam elas desenvolvidas
por voc, sejam aplicaes nativas. Por exemplo, imagine que sua aplicao precise
consultar a agenda de contatos para selecionar determinado amigo, e logo depois
visualizar o endereo dele em um mapa. Bom, que existe a agenda de contatos e
o Google Maps no Android todos j sabem, mas ser que possvel utiliz-los e
integr-los em nossas aplicaes? A resposta sim. Integrao uma das palavras-
chaves em aplicaes coorporativas, e a arquitetura do Android foi criada justamente
pensando nisso.
23
Captulo 1

Introduo ao Android
O Android tem muitos diferenciais interessantes e uma arquitetura realmente fexvel
focada na integrao de aplicaes. No existe diferena entre uma aplicao nativa
e uma desenvolvida por voc.
Falando em integrao, existe uma classe que o corao do Android, chamada
de Intent, e ela ser explicada no captulo 5. Essa classe nada mais do que uma
mensagem enviada ao sistema operacional informando nossa inteno de realizar
determinada tarefa.
Ento, no sistema operacional do Android, mensagens so disparadas para todos
os lados, identicadas pela classe Intent. Conforme o contedo da mensagem, ela
pode ser interceptada por qualquer aplicao interessada a m de realizar a tarefa
que for necessria. Por exemplo, se voc deseja abrir uma aplicao nativa como o
browser ou abrir uma nova tela de sua aplicao, a nica coisa que voc precisa fazer
criar esse objeto Intent e congurar o contedo de sua mensagem corretamente
para ser interpretado pelo sistema operacional.
Outro ponto forte do Android que seu sistema operacional baseado no Linux,
e ele mesmo se encarrega de gerenciar a memria e os processos. Isso permite que
diversas aplicaes possam ser executadas ao mesmo tempo, permitindo que apli-
caes em segundo plano consigam executar sem que o usurio perceba, enquanto
ele est acessando a internet ou atendendo uma ligao. Esse recurso muito legal
e voc pode tranquilamente agendar uma aplicao para executar em determinada
data e hora, sem atrapalhar a atividade do usurio.
claro que no podemos esquecer os recursos visuais e aquelas funcionalidades
que impressionam o usurio comum. Nesse quesito o Android certamente atende as
expectativas. A navegao de telas por meio da touch screen permite que o usurio
tenha uma tima experincia ao usar o aparelho. Segundo avaliaes sobre o HTC G1,
o primeiro celular Android lanado no mercado, a navegao na internet incrvel.
O Android tambm tem suporte a grcos 3D baseados na especicao 1.0 da
OpenGL ES e, dessa forma, possvel criar jogos com uma qualidade excelente de
resoluo. Voc pode conferir vrias demonstraes de jogos nos vdeos do YouTube.
1.4 Sistema operacional Linux
O sistema operacional do Android foi baseado no kernel 2.6 do Linux, e respon-
svel por gerenciar a memria, os processos, threads e a segurana dos arquivos e
pastas, alm de redes e drivers.
Cada aplicativo no Android dispara um novo processo no sistema operacional.
Alguns deles podem exibir uma tela para o usurio, e outros podem car em execuo
Google Android
24
em segundo plano por tempo indeterminado. Diversos processos e aplicativos podem
ser executados simultaneamente, e o kernel do sistema operacional o responsvel
por realizar todo o controle de memria.
Caso necessrio, o prprio sistema operacional pode decidir encerrar algum
processo para liberar memria e recursos, e talvez at reiniciar o mesmo processo
posteriormente quando a situao estiver controlada.
Toda a segurana do Android baseada na segurana do Linux. No Android cada
aplicao executada em um nico processo e cada processo por sua vez possui
uma thread dedicada. Para cada aplicao instalada no celular criado um usurio
no sistema operacional para ter acesso a sua estrutura de diretrios. Desta forma
nenhum outro usurio pode ter acesso a esta aplicao.
1.5 Mquina virtual Dalvik
Voc j sabe que a linguagem Java utilizada para construir as aplicaes para o
Android. O fato que em seu sistema operacional no existe uma mquina virtual
Java (JVM). Na verdade, o que temos uma mquina virtual chamada Dalvik que
otimizada para execuo em dispositivos mveis.
Ao desenvolver as aplicaes para o Android voc vai utilizar a linguagem Java
e todos os seus recursos normalmente, mas depois que o bytecode (.class) com-
pilado ele convertido para o formato .dex (Dalvik Executable), que representa a
aplicao do Android compilada.
Depois disso, os arquivos .dex e outros recursos como imagens so compactados
em um nico arquivo com a extenso .apk (Android Package File), que representa
a aplicao nal, pronta para ser distribuda e instalada.
Ao utilizar o ambiente de desenvolvimento do Eclipse, toda essa compilao e
gerao do arquivo .apk ocorre automaticamente, portanto, no preciso se preo-
cupar com isso.
1.6 Cdigo aberto e livre
O Android a primeira plataforma para aplicaes mveis completamente livre e
de cdigo aberto (open-source), o que representa uma grande vantagem para sua
evoluo, uma vez que diversos programadores do mundo podero contribuir para
melhorar a plataforma.
25
Captulo 1

Introduo ao Android
Para os fabricantes de celulares, isso tambm uma grande vantagem, uma vez
que possvel utilizar o sistema operacional do Android em seus celulares sem ter
que pagar por isso. Alm disso, a licena Apache Software Foundation (ASF) permite
que alteraes sejam efetuadas no cdigo-fonte para criar produtos customizados
sem precisar compartilhar as alteraes com ningum.
Voc pode obter mais informaes e at fazer o download do cdigo-fonte do
Android no seguinte site: http://source.android.com/
1.7 Android Developer Challenge
Para promover o Android o Google comeou investindo pesado e, assim que a
primeira verso do SDK foi lanada, tambm foi anunciado o famoso concurso
Android Developer Challenge (ADC), com mais de U$ 10 milhes em prmios.
O prazo para enviar as aplicaes era 14 de abril de 2008, e o concurso foi dividido
em duas fases. Na primeira fase, as 50 melhores aplicaes recebiam US$ 25.000
e, na segunda, mais 20 das melhores aplicaes seriam selecionadas para receber
US$275.000, e algumas US$ 100.000.
Na primeira etapa as aplicaes foram testadas no prprio emulador do Android,
porque na poca nenhum celular com o Android tinha sido lanado. Isso foi uma
grande sacada do Google para melhorar a plataforma e ajudar a test-la, sendo que
desenvolvedores de todo o mundo estavam interessados em desenvolver as aplicaes
para talvez faturar a bolada. Esse concurso literalmente agitou o mundo todo, e com
isso o Google consegui testar o SDK e consolidar seu produto.
A segunda parte foi anunciada para acontecer somente depois que o primeiro
celular com o Android fosse lanado, e dessa vez as aplicaes seriam testadas em
um aparelho real, e no mais em um emulador.
Quando este livro estava sendo escrito, a primeira parte j tinha terminado e
todos os vencedores podiam ser vistos no endereo seguinte. Temos at um brasileiro
que foi um dos vencedores com a aplicao TeraDesk.
http://code.google.com/intl/pt-BR/android/adc_gallery/
1.8 Android Market
Para auxiliar a distribuio das aplicaes do Android, alm da divulgao de sua
nova plataforma, foi criado o site Android Market.
http://www.android.com/market/
Google Android
26
O objetivo do site fornecer aos desenvolvedores de aplicativos um lugar co-
mum para disponibilizar suas aplicaes. Funciona como o site do YouTube: basta
cadastrar e enviar seu aplicativo. O site tambm conta com o mesmo esquema de
comentrios e classicao que o YouTube contm.
Para publicar uma aplicao o desenvolvedor precisa pagar a taxa de US$ 25 e
concordar com os termos de uso. Depois disso, o aplicativo j pode ser instalado
pelos usurios. Existem aplicativos que so gratuitos, enquanto outros so pagos.
Uma boa notcia para os desenvolvedores que 70% dos lucros com os aplicativos
vendidos sero repassados para quem os construiu.
Para os usurios utilizarem o Android Market muito simples. Basta acessar o
site com o celular e fazer o download do aplicativo desejado. Os comentrios e a
classicao deixada pelos usurios sero utilizados para criar o ranking com os
melhores aplicativos.
A gura 1.1 mostra o usurio selecionando alguma aplicao para ser instalada
pelo Android Market.
Figura 1.1 Seleo de uma aplicao no Android Market.
A gura 1.2 mostra as aplicaes j instaladas e ainda com o sistema de classicao.
Se voc deseja ver na prtica como o Android Market funciona, procure pelos
vdeos no YouTube, que contm timas demonstraes.
27
Captulo 1

Introduo ao Android
Figura 1.2 Aplicaes instaladas pelo Android Market.
1.9 T-Mobile G1
O T-Mobile G1 desenvolvido pela HTC foi o primeiro celular lanado com a plata-
forma do Android e, como esperado, causou um grande agito no mercado. A notcia
de seu lanamento causou um grande impacto e superou as expectativas de vendas
da HTC, e mesmo antes de seu lanamento j havia sido esgotado todo o estoque
para os pedidos de pr-venda.
Os primeiros celulares HTC G1 (Figura 1.3) comearam a ser vendidos nos Esta-
dos Unidos no dia 22 de outubro de 2008 por US$ 179, disponibilizando uma tela
sensvel ao toque, um teclado Qwerty que abre para baixo para facilitar a digitao
e todos os outros recursos que o Android tem a oferecer.
Para maiores detalhes, acesse o site ocial do HTC G1: http://www.androidg1.org/
Se deseja brincar um pouco com o G1, voc pode acessar um emulador on-line
que foi disponibilizado pela HTC neste endereo:
http://tmobile.modeaondemand.com/htc/g1/
Nesse site, ao clicar no menu Emulator voc pode brincar com o emulador do celular
e acessar todas as suas opes, como browser, mapas, agenda de contatos etc. Se
clicar no menu 360 View voc pode literalmente segurar um celular G1 na sua mo e
gir-lo para ter uma ideia de sua aparncia.
Vale pena brincar um pouco com o emulador e assistir aos vdeos no YouTube
sobre o G1, que demonstram as funcionalidades e toda a usabilidade do Android.
Google Android
28
Figura 1.3 Emulador do HTC G1.
1.10 Google Nexus One
Na poca em que este livro estava sendo escrito, o Google tinha recm-lanado seu
celular Nexus One, com Android 2.1 e um processador de 1Ghz, sendo o mais rpido
de todos os smartphones Android j lanados at aquele momento.
Mas o grande triunfo do Android sua plataforma aberta e exvel, a qual permite
que o sistema operacional inteiro seja customizado. Desta forma vrios fabricantes
de celulares como a Motorola, HTC, Sony Ericsson etc j estavam customizando
seus modelos de celulares Android para a ltima verso. A customizao varia de
fabricante para fabricante. Na HTC a customizao chamada de HTC Sense
e muda totalmente o visual do aparelho, e ainda adiciona diversas aplicaes. A
Motorola chama sua de MotoBlur, e focada em redes sociais. A customizao da
Sony Ericsson conhecida como UX "User eXperience".
Com a grande popularizao do Android, os usurios podero escolher os
modelos que mais lhe agradam e os desenvolvedores podero desfrutar da sua
plataforma de desenvolvimento e criar aplicaes mveis incrveis.
1.11 Desenvolvimento de aplicaes com o Eclipse e Java
Para alegria geral da nao possvel desenvolver uma aplicao para o Android
utilizando a linguagem Java em seu ambiente de desenvolvimento preferido, como
o Eclipse, Netbeans ou IntelliJ IDEA.
O Eclipse o ambiente de desenvolvimento preferido pelo Google, e h um plug-
in chamado ADT (Android Development Tools) para facilitar o desenvolvimento,
29
Captulo 1

Introduo ao Android
os testes e a compilao do projeto e, portanto, adotaremos o Eclipse para nossos
exemplos.
Utilizando o plug-in ADT possvel executar o emulador do Android diretamen-
te do Eclipse, usufruindo de todos os seus recursos como o debug passo a passo,
que funciona perfeitamente. Tambm diretamente do Eclipse possvel controlar
o emulador, visualizando logs e simulando o envio de uma mensagem SMS ou
uma ligao telefnica, alm da capacidade de visualizar e enviar arquivos para o
emulador, executar o garbage collector, visualizar a memria heap etc.
Para distribuir uma aplicao Android, necessrio compilar o projeto Java em
um arquivo de extenso .apk (Android Package File), que um arquivo binrio com-
pactado com as classes compiladas e os recursos do projeto. A boa notcia que ao
compilar o projeto pelo Eclipse esse arquivo criado automaticamente pelo plug-in.
Para executar uma aplicao no emulador tambm necessrio instalar esse
arquivo .apk, da mesma forma que em um aparelho de celular real. Entretanto, isso
tambm feito automaticamente pelo Eclipse quando a aplicao executada.
Mas chega de teoria. Vamos partir para o prximo captulo, onde aprenderemos
a instalar o SDK e o plug-in ADT para o Eclipse e criaremos nossa primeira apli-
cao para o Android.

Você também pode gostar