Você está na página 1de 19

4a Edio

Ricardo R. Lecheta

Novatec

Copyright 2009, 2010, 2013, 2015 da Novatec Editora Ltda.


Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998.
proibida a reproduo desta obra, mesmo parcial, por qualquer processo, sem prvia autorizao, por escrito,
do autor e da Editora.
Editor: Rubens Prates
Assistente editorial: Priscila A. Yoshimatsu
Reviso gramatical: Viviane Oshima
Editorao eletrnica: Carolina Kuwabata
Capa: Victor Bittow
ISBN: 978-85-7522-440-3 OG20150609
Histrico de impresses:
Junho/2015
Outubro/2014
Abril/2014
Janeiro/2014
Setembro/2013
Maro/2013
Junho/2010
Maro/2009

Quarta edio (ISBN: 978-85-7522-440-3)


Quarta reimpresso
Terceira reimpresso
Segunda reimpresso
Primeira reimpresso
Terceira edio (ISBN: 978-85-7522-344-4)
Segunda edio (ISBN: 978-85-7522-244-7)
Primeira edio (ISBN: 85-7522-186-0)

Novatec Editora Ltda.


Rua Lus Antnio dos Santos 110
02460-000 So Paulo, SP Brasil
Tel.: +55 11 2959-6529
Email: novatec@novatec.com.br
Site: novatec.com.br
Twitter: twitter.com/novateceditora
Facebook: facebook.com/novatec
LinkedIn: linkedin.com/in/novatec

captulo 1

Introduo ao Android

1.1 Introduo
Nos dias de hoje, ningum consegue ficar longe de um celular, seja para mandar
um email, tirar uma foto, assistir um vdeo, conversar com os amigos, navegar
na internet, acompanhar as redes sociais etc. Portanto, os smartphones e tablets
atualmente so objetos praticamente inseparveis da maioria das pessoas.
Segundo pesquisas, mais de 3 bilhes de pessoas tm um telefone celular, e o
mercado de aplicativos virou uma febre, rendendo bilhes todos os anos.
Nesse mercado competitivo, temos vrios lados da moeda. Os usurios comuns
buscam um celular com um visual elegante, moderno, de fcil navegao, assim
como uma infinidade de aplicativos e recursos. Tanto as empresas quanto os desenvolvedores buscam uma plataforma moderna e gil para desenvolver aplicativos.
Os fabricantes (LG, Motorola, Samsung, HTC, Intel, Sony etc.) precisam de uma
plataforma robusta e rica em funcionalidades para lanar no mercado os seus
produtos. aqui onde o Android se encaixa, pois ele perfeito para todos os casos.
O Android o sistema operacional mvel do Google e atualmente lder mundial
nesse segmento. No entanto, o sucesso do Android no se deve apenas fora do
Google por trs do desenvolvimento de toda a plataforma esto gigantes do
mercado de mobilidade, como fabricantes de celulares e operadoras. Esse grupo
que ajuda no desenvolvimento da plataforma chamado de OHA (Open Handset
Alliance) e conta com nomes de peso como Intel, Samsung, LG, Motorola, Sony
Ericsson, HTC, Sprint Nextel, ASUS, Acer, Dell, Garmin etc. Existe todo um
ecossistema interessado no desenvolvimento de uma plataforma mvel poderosa e
flexvel, de cdigo-aberto e que atenda s necessidades de todos. Embora o Google
represente grande parte da fora do Android, com certeza a plataforma est hoje
onde est devido ajuda de outras potncias do mercado mvel.
25

26

Google Android 4a edio

Atualmente o Android est disponvel para diversas plataformas, como smartphones


e tablets, TV (Google TV), relgios (Android Wear), culos (Google Glass), carros
(Android Auto) e o sistema operacional mvel mais utilizado no mundo.
Vale lembrar que o mercado corporativo tambm est cada vez mais utilizando o
mobile, tanto que 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 o lucro; por isso, tanto
os smartphones quanto os tablets ocupam um importante espao em um mundo
em que a palavra mobilidade est cada vez mais conhecida.
Dentro desse contexto, estamos diante de uma excelente oportunidade, pois o mobile
um grande pilar na rea de tecnologia e segundo pesquisas uma das reas que
mais vai crescer nos prximos anos, por isso voc no pode ficar fora dessa.
O objetivo deste livro explicar o desenvolvimento de aplicativos para Android,
do bsico ao avanado, com diversos exemplos prticos e dicas de que voc vai
precisar no dia a dia.

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 Intel, HTC, LG, Motorola, Samsung, Sony
Ericsson, Toshiba, HTC, Huawei, Sprint Nextel, China Mobile, T-Mobile, ASUS,
Acer, Dell, Garmin e muito mais.
Quando este livro foi escrito, o grupo era formado por 84 integrantes de peso,
e voc pode verificar a lista completa e atualizada em: www.openhandsetalliance.
com/oha_members.html.
No site da OHA existe uma tima descrio do que essa aliana. O texto est
em ingls e vou apenas traduzir uma breve citao aqui. Hoje, existem 1,5 bilho
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 inmeras 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 definir uma plataforma nica e aberta para celulares para deixar os consumidores mais satisfeitos com o produto final. Outro

Captulo 1 Introduo ao Android

27

objetivo principal dessa aliana criar uma plataforma moderna e flexvel para
o desenvolvimento de aplicaes coorporativas. O resultado dessa unio, como
voc j deve saber, foi o nascimento do Android.
Todos acabam se beneficiando com os avanos alcanados pelo grupo OHA e a
plataforma do Android: os fabricantes de celulares, os usurios comuns e, claro,
as empresas em geral e 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 cada vez mais ocupa um espao importante na vida das pessoas. O
Android foi criado justamente para agradar esses usurios, possibilitando que
encontrem todos os recursos esperados em apenas um aparelho. O mundo da
tecnologia est sempre em evoluo, e a OHA tem como objetivo principal manter
uma plataforma-padro na qual 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 consolidada 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
flexvel 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, portanto, 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 aperfeioamento, uma vez que desenvolvedores de todos os lugares do mundo podem contribuir
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 Sistema operacional Linux


O sistema operacional do Android baseado no kernel do Linux, que responsvel por gerenciar a memria, os processos, threads, segurana dos arquivos e
pastas, alm de redes e drivers.

28

Google Android 4a edio

Cada aplicativo no Android dispara um novo processo no sistema operacional.


Alguns deles podem exibir uma tela para o usurio, e outros podem ficar em
execuo 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
contm uma thread dedicada. Para cada aplicao instalada no celular criado
um usurio no sistema operacional para ter acesso a sua estrutura de diretrios.
Dessa forma, nenhum outro usurio pode ter acesso a essa aplicao.

1.4 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 competitiva para sua evoluo, uma vez que diversas empresas e desenvolvedores do
mundo podem contribuir para melhorar a plataforma.
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 de
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.5 Mquina virtual Dalvik


Provavelmente 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)

Captulo 1 Introduo ao Android

29

compilado 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 final, pronta para ser distribuda e instalada. Ao utilizar o ambiente de
desenvolvimento do Android Studio, toda essa compilao e gerao do arquivo
.apk ocorre automaticamente, portanto, no preciso se preocupar com isso.
Atualmente, o sistema de build utilizado o Gradle, o qual independente do
Android Studio e pode ser executado separadamente. Portanto, voc pode compilar todo o cdigo por linha de comando se necessrio.

1.6 Mquina virtual ART (Android Runtime)


A partir do Android 4.4 (KitKat) foi criada a mquina virtual ART (Android
Runtime) com o objetivo de substituir a Dalvik, e naquela poca o ART podia
ser ativado opcionalmente nas configuraes. Quando foi lanado o Android 5.0
(Lollipop), o ART se tornou a mquina virtual padro, substituindo a Dalvik.
Uma das melhorias do ART a compilao Ahead-of-time (AOT), que tem o objetivo de otimizar o cdigo ao mximo para melhorar o desempenho do aplicativo.
O ART tambm tem um melhor funcionamento do Garbage Collector (GC) e
apresenta melhorias no suporte ao debug de aplicativos.
Na prtica os desenvolvedores ou usurios no so afetados se o sistema est
utilizando a Dalvik ou ART, mas o Google afirma que o ART apresenta um desempenho muito melhor.

1.7 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
flexvel e voc pode integrar aplicaes nativas com sua aplicao, ou at mesmo
substituir qualquer aplicao nativa existente por uma que voc mesmo criou.
isso que muitos fabricantes e operadores fazem ao customizar os aparelhos.
possvel integrar aplicaes de uma forma simples, sejam elas desenvolvidas
por voc, sejam aplicaes nativas. Por exemplo, imagine que sua aplicao

30

Google Android 4a edio

precise consultar a agenda de contatos para selecionar determinado amigo (ex.:


WhatsApp), e logo depois visualizar o endereo dele em um mapa. Bem, 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.

Nota: o Android tem muitos diferenciais interessantes e uma arquitetura


realmente flexvel 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, a qual vamos estudar no livro. 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, identificadas pela classe Intent. Conforme o contedo da mensagem,
ela pode ser interceptada por qualquer aplicao interessada a fim 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 configurar o contedo de sua mensagem
corretamente para ser interpretado pelo sistema operacional.
Outro ponto forte do Android que seu sistema operacional baseado no Linux, o
qual se encarrega de gerenciar a memria e os processos. Isso permite que diversas
aplicaes possam ser executadas ao mesmo tempo, de forma que as aplicaes
em segundo plano consigam executar sem atrapalhar a atividade do usurio,
enquanto ele est acessando a internet ou atendendo uma ligao.
claro que no podemos nos esquecer dos recursos visuais e todas as APIs
disponveis, mas o fato de o Android ser aberto e totalmente customizado um
diferencial que vale a pena ressaltar.

1.8 Android Developer Challenge


Agora vamos falar um pouco da histria do sistema operacional do robozinho
verde. 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.

Captulo 1 Introduo ao Android

31

Apenas por curiosidade, eu j trabalhava com mobile desde 2001 e foi nesse
momento que me encantei com o Android e comecei a escrever a 1 edio deste
livro, que ficou pronta em 2009, pouco depois da 1 fase deste concurso terminar.
O prazo para enviar as aplicaes do ADC era 14 de abril de 2008, e o concurso
foi dividido em duas fases. Na primeira fase, as 50 melhores aplicaes recebiam
US$ 25 mil e, na segunda, mais 20 das melhores aplicaes seriam selecionadas
para receber US$275 mil, e algumas US$ 100 mil.
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 uma bolada. Esse concurso literalmente agitou o
mundo todo, com isso o Google conseguiu testar o SDK e consolidar seu produto.
A segunda parte do concurso foi anunciada para acontecer somente depois que
o primeiro celular com o Android fosse lanado, dessa vez as aplicaes seriam
testadas em um aparelho real e no mais em um emulador.

1.9 Google Play


Para auxiliar a distribuio das aplicaes do Android, alm da divulgao de
sua nova plataforma, foi criado o site Google Play (https://play.google.com), que
inicialmente se chamava Android Market. O objetivo do site fornecer aos desenvolvedores de aplicativos um lugar comum para disponibilizar suas aplicaes.
Para publicar uma aplicao, o desenvolvedor precisa pagar a taxa de US$ 25 (o
pagamento feito uma nica vez por meio de um carto de crdito internacional)
e concordar com os termos de uso. Depois disso, o aplicativo j pode ser publicado e 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 mais
informaes, visite o site do console do desenvolvedor no seguinte endereo.
https://play.google.com/apps/publish/

1.10 T-Mobile G1
O T-Mobile G1 desenvolvido pela HTC foi o primeiro celular lanado com a
plataforma do Android e, como esperado, agitou o mercado. A notcia de seu

32

Google Android 4a edio

lanamento causou um grande impacto e superou as expectativas de vendas da


HTC: mesmo antes de seu lanamento, todo o estoque para os pedidos de pr-venda j havia sido esgotado.
Os primeiros celulares HTC G1 comearam a ser vendidos nos Estados Unidos
no dia 22 de outubro de 2008 por US$ 179. Um fato interessante que eu terminei
a 1 edio deste livro antes mesmo de o G1 ser lanado e fiz todos meus estudos
somente utilizando o emulador. Lembro que no 1 curso de Android que ministrei
alguns alunos tinham comprado o G1 e vieram me mostrar. Foi emocionante.

1.11 Google Nexus


Desde o HTC G1 at os dias de hoje, o Android no parou de evoluir, e na poca em que este livro estava sendo escrito o Google havia acabado de lanar seu
smartphone Nexus 6, com Android 5.0 Lollipop, tela Quad HD de 6 polegadas
com 2560 x 1440px e um processador quad core de 2.7 Ghz; o mais rpido de
todos os smartphones Android j lanados at o momento.
Recentemente, tambm foram lanados os tablets Nexus 7 e Nexus 10 do Google,
com telas de 7 e 10 polegadas. No site da linha Nexus, voc pode encontrar sempre os modelos mais atualizados dos smartphones e tablets oficiais do Google.
Uma das vantagens de ter um smartphone Nexus porque eles so chamados de
Android puros, ou seja, no contm customizaes. E por serem gerenciados pelo
Google sempre recebem a atualizao de novas verses do sistema operacional de
forma rpida. Para mais informaes sobre a linha Nexus, e uma tima explicao
dos recursos do Android, visite o site:
http://www.google.com.br/nexus/.

1.12 Um pouco sobre a histria e verses do Android


A verso 1.0 do Android chegou no mercado em 2008, com o famoso T-Mobile
G1, e depois o Android no parou mais de evoluir.
Algo interessante e engraado sobre o Android que cada nova verso apelidada carinhosamente com o nome de um doce. Isso gera sempre uma grande
expectativa e especulao no mercado, pois todos ficam tentando adivinhar qual
ser o novo sabor do Android.
Na 1 edio deste livro, expliquei o que era o Android, mas agora a histria um
pouco diferente, pois o Android o sistema operacional mvel mais utilizado no

Captulo 1 Introduo ao Android

33

mundo; por essa razo, acho conveniente explicar um pouco de sua histria, e o
que cada verso trouxe de novidades para a plataforma.

1.13 Android 1.5 (Cupcake)


Lanado em abril de 2009, o Cupcake (Figura 1.1) trouxe na poca diversas melhorias para o sistema operacional, como na parte de cmera, GPS, upload de
fotos e vdeos para o YouTube e Picasa etc.

Figura 1.1 Android 1.5 (Cupcake).

A principal novidade, porm, foi o lanamento do primeiro Android (HTC Magic)


com apenas o touch screen e o teclado virtual. Foi no Cupcake que nasceram os
widgets, que so miniaplicativos que podem executar na tela inicial.
Fontes:
http://developer.android.com/about/versions/android-1.5.html
http://developer.android.com/about/versions/android-1.5-highlights.html

1.14 Android 1.6 (Donut)


Lanado em setembro de 2009, o Donut (Figura 1.2) inovou e fez o Android falar
e escutar.
Converter texto em voz o que chamamos de Text-To-Speech (TTS), e o contrrio,
converter voz em texto, chamamos de Speech-To-Text (STT). Com o auxlio das
pesquisas de voz, a home do Android ganhou mais funcionalidades e o usurio
poderia pesquisar na agenda de contatos, na galeria de msicas e na web com a voz.

34

Google Android 4a edio

Figura 1.2 Android 1.6 (Donut).

No Android 1.6 foram criadas as medidas de densidade (ldpi, mdpi, hdpi) que vamos
estudar ao longo do livro, pois foi quando o Android passou a ser utilizado por
dispositivos de diversas resolues e tamanhos de tela. O Android estava chegando a
um novo patamar e comeando a ser amplamente utilizado e adotado pelo mercado.
Fontes:
http://developer.android.com/about/versions/android-1.6.html
http://developer.android.com/about/versions/android-1.6-highlights.html

1.15 Android 2.0 e 2.1 (Eclair)


Lanado em outubro de 2009 e depois atualizado em janeiro de 2010, o Eclair
(Figura 1.3) trouxe uma interface de usurio diferenciada e adicionou os Live
Wallpapers (plano de fundos animados na tela inicial).

Figura 1.3 Android 2.1 (Eclair).

No Eclair foi lanado o suporte a mltiplas contas do Google e sincronizao


(junto com a API), assim como diversas melhorias em todo o sistema operacional,
como nas cmeras, mapas e o suporte ao HTML5.
Fontes:
http://developer.android.com/about/versions/android-2.0.html
http://developer.android.com/about/versions/android-2.0-highlights.html
http://developer.android.com/about/versions/android-2.1.html

Captulo 1 Introduo ao Android

35

1.16 Android 2.2 (Froyo)


Lanado em maio de 2010, o Froyo (Figura 1.4) trouxe diversas melhorias de desempenho para o sistema operacional, como o compilador JIT (Just In Time) e
uma engine de JavaScript mais rpida.

Figura 1.4 Android 2.2 (Froyo).

Nessa verso foram adicionados recursos clssicos como o USB Tethering e Wi-Fi
Hotspot, assim como o suporte ao Flash.
Fontes:
http://developer.android.com/about/versions/android-2.2.html
http://developer.android.com/about/versions/android-2.2-highlights.html

1.17 Android 2.3 (Gingerbread)


Lanado em dezembro de 2010, o Gingerbread (Figura 1.5) trouxe novidades na
cmera, pois era possvel alternar entre a cmera frontal e traseira. Tivemos melhorias na funcionalidade de copy-paste, pois era possvel tocar o texto e depois
arrastar para controlar a seleo.

Figura 1.5 Android 2.3 (Gingerbread).

36

Google Android 4a edio

Segundo o Google, foi nessa verso que tivemos um grande ganho com relao ao
gerenciamento da bateria e surgiu o suporte ao NFC (Near Field Communications).
Fontes:
http://developer.android.com/about/versions/android-2.3.html
http://developer.android.com/about/versions/android-2.3-highlights.html

1.18 Android 3.0 (Honeycomb)


Lanado em fevereiro de 2011, o Honeycomb (Figura 1.6) trouxe um sistema operacional totalmente focado nos tablets, com uma experincia de usurio totalmente
diferenciada para telas grandes.
Com o Honeycomb, o Android deixou de ter botes fsicos, e os botes de voltar e incio
(home) passaram a fazer parte da barra de navegao dentro da tela com touch screen.
Foi nesta verso que tambm foi criada a action bar, que o padro de navegao mais
utilizado nos aplicativos para Android atualmente, e tambm a API de fragments, que
permite criar componentes reutilizveis de cdigo. Ambas as APIs so fundamentais
no desenvolvimento de aplicativos e por isso vamos estud-las em detalhes neste livro.
Fontes:
http://developer.android.com/about/versions/android-3.0.html
http://developer.android.com/about/versions/android-3.0-highlights.html

Figura 1.6 Android 3.0 (Honeycomb).

1.19 Android 4.0 (Ice Cream Sandwich)


Lanado em outubro de 2011, o Ice Cream Sandwich (Figura 1.7) unificou a plataforma de desenvolvimento entre smartphones e tablets, permitindo com que

Captulo 1 Introduo ao Android

37

aplicativos para smartphones fossem criados com a action bar e fragments. Com
o ICS, o mesmo sistema operacional agora executava em tablets e smartphones.

Figura 1.7 Android 4.0 (ICS).

A API de fragments utilizada para criar componentes reutilizveis de cdigo, por


isso ela tem muita importncia ao reaproveitar o cdigo de um aplicativo entre
as verses para tablet e smartphone.
Fontes:
http://developer.android.com/about/versions/android-4.0.html
http://developer.android.com/about/versions/android-4.0-highlights.html

1.20 Android 4.1 (Jelly Bean)


Lanado em junho de 2012, o Jelly Bean (Figura 1.8) voltou a trazer ganhos significativos
com relao ao desempenho do sistema, e todo o sistema operacional ganhou melhorias no suporte s animaes, deixando a interface mais sensvel ao toque e fluida.

Figura 1.8 Android 4.1 (Jelly Bean).

38

Google Android 4a edio

As notificaes que so famosas no Android passaram a ser mais ricas e conter


muitos detalhes.
Fonte:
http://developer.android.com/about/versions/jelly-bean.html

1.21 Android 4.4 (KitKat)


Lanado em outubro de 2013, o KitKat (Figura 1.9) trouxe o Android para todos,
pois conseguiu executar o sistema operacional mesmo em dispositivos com menos
de 512MB de RAM, devido s diversas melhorias de desempenho e otimizaes
feitas no sistema operacional.

Figura 1.9 Android 4.4 (KitKat).

O Jelly Bean trouxe aperfeioamentos no Bluetooth, NFC, Print Framework,


sensores, e foi criada a API de Transitions, que possibilitou aos desenvolvedores,
no s criarem interfaces visuais em cenas, como tambm animar a transio
entre uma cena e outra.
Na verdade, a plataforma do Android evolui to rpido, que para um resumo
completo recomendado olhar a documentao oficial.
Fonte:
http://developer.android.com/about/versions/kitkat.html

1.22 Android 5.0 (Lollipop)


Lanado em novembro de 2014, o Lollipop (Figura 1.10) foi o maior release focado
na interface de usurio, usabilidade, animaes e experincia do usurio.

Captulo 1 Introduo ao Android

39

Figura 1.10 Android 5.0 (Lollipop).

Nasceu ento o Material Design, que um guia completo sobre como implementar
o visual, animaes e a interao entre os componentes de um layout, levando
em considerao que o Android se tornou uma plataforma comum para vrios
dispositivos, como smartphones, tablets (Android), wearables (Android Wear),
culos (Google Glass), TVs (Android TV) e carros (Android Auto).
Isso o mais importante, uma vez que as tcnicas do Material Design no precisam
ser implementadas somente nos smartphones e tablets, pois o Google criou um
padro de design consistente entre vrias plataformas, como mobile, web, wear etc.
Dentre outras melhorias, tivemos as notificaes, que agora tambm aparecem
na tela de bloqueio (Lock Screen), e as head-up notifications, que aparecem no
topo da tela com alta prioridade. Um exemplo de head-up notifications a ligao
que permite atender ou rejeitar uma ligao telefnica diretamente na notificao.
Antigamente, esse recurso no existia e a aplicao da ligao mostrava uma tela
cheia para o usurio decidir se atende ou no a ligao.
Outra novidade interessante foi o projeto Volta, que trouxe ferramentas para
auxiliar a anlise do uso da bateria nos aplicativos. Tambm foi modificada a tela
de aplicativos recentes (Overview Screen), que mostra as ltimas tarefas que esto
sendo executadas, sendo que um aplicativo pode conter uma ou mais tarefas. Foi
criada uma API para os desenvolvedores controlarem esse comportamento. O
Lollipop tambm suporta a OpenGL ES 3.1, trazendo um desempenho superior
nos jogos 2D e 3D.
A plataforma do Android est chegando a outro patamar, e o Google TV tambm
recebeu um grande release. Foi criada a API Leanback para criar interfaces ricas
para TV e o TIF (Android TV Input Framework).
Novamente, so tantas as novidades que recomendo olhar a documentao oficial.
Fonte: http://developer.android.com/about/versions/lollipop.html

40

Google Android 4a edio

1.23 Google I/O 2015 e o anncio do Android M


No Google I/O 2015 foi anunciado o Android M, que a prvia para desenvolvedores da nova verso do Android. A letra M d sequncia letra L de Lollipop, e o
Google est seguindo essa nomenclatura agora. Porm, oficialmente a nova verso
do Android deve ser lanada entre outubro e novembro de 2015, e somente ento
saberemos qual o novo sabor do Android. Como esta verso comea com a letra
M, algumas das suspeitas so os famosos doces M&M's, Mentos, dentre outros.
Dentre as melhorias j anunciadas no Android M, temos um leitor de impresso
digital com sensor biomtrico e o Android Pay, uma plataforma aberta para fazer
pagamentos por meio de cartes, internet e NFC.
Uma das funcionalidades que achei mais interessante o novo sistema de controle de permisses dos aplicativos, o qual possibilitar que o usurio conceda a
permisso individualmente. Ser possvel optar por dar acesso cmera enquanto
nega-se a permisso para acessar o GPS, por exemplo.
Outra funcionalidade do Android M muito comentada so os App Links, que
permitem que determinados aplicativos sejam escolhidos como padro ao abrir
links de determinado domnio. Exemplos clssicos so os apps do Twitter, Google
+ e Drive, e nesse caso qualquer link desses domnios pode ser aberto diretamente
em seus respectivos aplicativos sem a necessidade de perguntar ao usurio qual
aplicativo deve ser escolhido.
O Google Now tambm recebeu atualizaes e agora ele pode ser chamado
diretamente da tela de bloqueio, pela opo no canto esquerdo inferior da tela.
Enfim, agora esperar pela nova verso do Android. No entanto, como desenvolvedor, voc vai perceber que no Android SDK possvel baixar a verso prvia do
Android M e j ir brincando com o emulador.
Neste livro, vamos aprender a criar aplicativos para Android. Na maioria das
vezes, vou tentar manter a compatibilidade com as verses antigas, at porque o
que iremos estudar so os conceitos principais do Android.
Felizmente o Google vem fazendo um excelente trabalho no suporte compatibilidade com verses antigas, e podemos utilizar novas funcionalidades por meio
de bibliotecas de compatibilidade. Um exemplo disso a biblioteca de compatibilidade v7, que traz ao Android 2.1 (Eclair) a funcionalidade da action bar que
foi criada apenas no Android 3.0 (Honeycomb).

Captulo 1 Introduo ao Android

41

No livro, sero exploradas diversas APIs de desenvolvimento, do bsico ao avanado. Vamos focar boa parte em boas prticas de programao e interface de usurio, seguindo sempre as recomendaes (guidelines) do Google. Para isso, ser
desenvolvido, passo a passo durante a leitura, o aplicativo dos carros, explorando
muitos conceitos do Material Design.
Tenho certeza de que voc, ao ler este livro, vai adquirir uma base slida referente
a todos os conceitos do Android, desde o bsico ao avanado. Naturalmente, a
plataforma no para de evoluir, mas estou certo de que no final da leitura voc
estar apto a acompanhar essa evoluo.

Você também pode gostar