You are on page 1of 12

Google

Aprenda a criar aplicaes para dispositivos mveis com o Android SDK

2 Edio Ricardo R. Lecheta

Novatec

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 confivel da empresa. Hoje em dia diversos bancos oferecem servios aos seus usurios, 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 flexvel 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.
19

20

Google Android

J os usurios comuns buscam um celular com um visual elegante e moderno, de fcil navegao e uma infinidade 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 fabricantes 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 flexvel. 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 algumas 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 determinado 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.

Captulo 1 Introduo ao Android

21

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 verificar 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 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 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. 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 flexvel. 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 beneficiando dessa unio: os fabricantes de celulares, os usurios 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

22

Google Android

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 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 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 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 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. 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 palavraschaves em aplicaes coorporativas, e a arquitetura do Android foi criada justamente pensando nisso.

Captulo 1 Introduo ao Android


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.

23

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, 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, 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 aplicaes 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 grficos 3D baseados na especificao 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 responsvel 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 ficar em execuo

24

Google Android

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) 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 Eclipse, toda essa compilao e gerao do arquivo .apk ocorre automaticamente, portanto, no preciso se preocupar 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.

Captulo 1 Introduo ao Android

25

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/

26

Google Android

O objetivo do site fornecer aos desenvolvedores de aplicativos um lugar comum 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 classificao 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 classificao deixada pelos usurios sero utilizados para criar o ranking com os melhores aplicativos. A figura 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 figura 1.2 mostra as aplicaes j instaladas e ainda com o sistema de classificao. Se voc deseja ver na prtica como o Android Market funciona, procure pelos vdeos no YouTube, que contm timas demonstraes.

Captulo 1 Introduo ao Android

27

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 plataforma 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 Estados 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 oficial 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.

28

Google Android

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 flexvel, 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 plugin chamado ADT (Android Development Tools) para facilitar o desenvolvimento,

Captulo 1 Introduo ao Android

29

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 diretamente 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 compactado 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 aplicao para o Android.

You might also like