Dominando o Android do Bsico ao Avanado, Notas de estudo de Informática
paulo-melo-57
paulo-melo-57

Dominando o Android do Bsico ao Avanado, Notas de estudo de Informática

794 páginas
50Números de download
1000+Número de visitas
Descrição
Topologia Especial em Programação Mobile
70 pontos
Pontos de download necessários para baixar
este documento
Baixar o documento
Pré-visualização3 páginas / 794
Esta é apenas uma pré-visualização
3 mostrados em 794 páginas
Esta é apenas uma pré-visualização
3 mostrados em 794 páginas
Esta é apenas uma pré-visualização
3 mostrados em 794 páginas
Esta é apenas uma pré-visualização
3 mostrados em 794 páginas
Prefácio Estamos vivendo um momento diferente na história das tecnologias digitais. As mudanças exponenciais trazidas pela tecnologia da informação fizeram Marc Andreessen, sócio de um dos principais fundos de Capital de Risco do mundo, afirmar alguns anos atrás que o software estava comendo o mundo todo. Esse fenômeno explica por que as quatro grandes tecnologias disruptivas (Mobile, So- cial, Cloud e Big Data) estão transformando e revolucionando todas as indústrias e os segmentos de negócio. Há um ano, Benedict Evans, parceiro de Marc Andreessen, foi além e afirmou que o Mobile está comendo o mundo todo. Sua afirmação pode ser enfatizada por números mundiais e, também, por números brasileiros. Segundo a pesquisa Think Insights, disponibilizada pelo Google, 72% dos usuários brasileiros de smartphones acessam a Internet pelos seus dispositivos móveis todos os dias. E desses, 21% acessam a Internet somente por meio de seus smartphones. E esses números continuam crescendo, em torno de 11% ano após ano. Para ter uma ideia mais clara da dimensão desse fenômeno, 35% dos usuários de dispositivos móveis afirmam que usam ao menos um aplicativo sempre antes de sair da cama. E 21% afirmam que usam seus tablets deitados na cama. Isso demonstra quanto do acesso à Internet vem do uso de apps móveis e browsers de smartphones. Some a isso um poderoso ecossistema de aplicativos e comunidades de desen- volvedores. Segundo números divulgados no Google 1/O de 2014, há mais de 1 milhão de aplicativos publicados no Google Play Store, que pagou, entre 2013 e 2014, mais de 5 bilhões de dólares aos seus desenvolvedores. A oportunidade para desenvolvimento móvel no mundo inteiro é crescente e quem se especializar na plataforma Android terá uma grande vantagem competitiva nesse novo mundo Mobile Firste Cloud First. A plataforma Android não é apenas para smartphones, mas é também a basc de aplicações para diversos modelos de tablets. A partir do Google 1/O 2014, passou também a ser a plataforma para TVs com o Android TV, dispositivos vestíveis com o Android Wear e carros, com o Android Auto, Por esses motivos é que o livro do Nelson Glauber, um Developer Expert de 15 16 Dominando o Android Android reconhecido pelo Google, é perfeito para esse período em que vivemos como desenvolvedores. Recomendamos a leitura deste livro e a continuação de seus estudos usando os recursos de aprendizado para a plataforma Android que o Google oferece. Você se tornará um profissional mais capacitado para os novos desafios e as oportunidades desse novo mundo Mobile First e, para uma grande parcela da população brasileira e mundial, Mobile Only! José Paro, GERENTE DE RELAÇÕES COM DESENVOLVEDORES E STARTUPS PARA A AMÉRICA LATINA DO (GOOGLE Antonio MariN Neto, Senior DEVELOPER ADVOCATE NO GOOGLE À quem se destina este livro Este livro é destinado a estudantes e profissionais de desenvolvimento de software que querem aprender a desenvolver aplicativos para a plataforma Android. Parti- mos da premissa que você já tem bons conhecimentos em lógica de programação, orientação a objetos, linguagem de programação Java e conceitos básicos de banco de dados SQL. Mesmo que você tenha algum conhecimento sobre Android, eu o aconselho a dar uma olhada neste livro. Ao mostrar diversos tópicos a outros desenvolvedores, inclusive que já trabalham com Android, ouvi muitas frases como “Não sabia disso.., “Bacana! Eu fazia de outra forma, mas assim é bem melhor” ou ainda “Nossa... Eu nunca tinha entendido isso!” Sendo assim, espero que você aproveite todo o conteúdo apresentado aqui, para que consiga dominar o Android. Boa leitura! Introdução Atualmente a plataforma Android é líder absoluta no mercado de dispositivos móveis, e desenvolver aplicativos para esses aparelhos é muito divertido, mas, acima de tudo, desafiador Neste capítulo, começaremos nossa jornada pelo mundo do desenvolvimento mobile para a plataforma do Google, conhecendo um pouco sobre ela e configurando o ambiente de desenvolvimento que utilizaremos para construir os projetos ao longo do livro. O que é o Android? A definição do próprio site diz que “O Android é uma pilha de software para dispositivos móveis que inclui um sistema operacional, um middleware e aplica- ções-chave. O Android SDK provê as ferramentas e APIs necessárias para iniciar o desenvolvimento de aplicações para a plataforma Android usando a linguagem de programação Java”. O sistema operacional Android tem como base o kernel do Linux, que é respon- sável pelo gerenciamento de processos, drivers, memória e energia. O middleware. por sua vez, controla a interação entre os aplicativos instalados no aparelho, faci- litando a comunicação entre eles. E as aplicações-chave são programas comuns, como discador, navegador, contatos, mensagens etc, O Android está presente em mais de um bilhão de dispositivos, principalmente em smartphones e tablets, mas também pode ser encontrado em muitos outros dispositivos, como automóveis, TVs, relógios etc. Seu código-fonte é distribuído sob licença da Apache, e isso permite que qualquer fabricante de aparelhos o utilize em seus produtos, faça as modificações que desejar e não o obriga a compartilhar essas mudanças com os seus concorrentes. Isso faz com que cada fabricante tenha um “Android com sua cara” Entretanto, para que o aparelho saia de fábrica com os aplicarivos do Google (Gmail, Google Maps. Google Play, Hangout etc.), ele terá de ser homologado por meio de uma bateria de testes, para evitar que o fabri- cante, com suas modificações, afete alguma API que os desenvolvedores utilizam. 7 18 Dominando o Android À primeira versão do Android foi lançada em 2008, e de lá para cá tivemos várias versões, e a cada uma atribui-se um nome de um doce e um número sequencial que chamamos de API Level. Essa informação é muito importante para sabermos quais recursos, classes e bibliotecas estão disponíveis em cada versão. A tabela 01 lista todas as versões do Android lançadas até a publicação deste livro. Tabela 01 — Versões do Android Nome da versão | Versão API Level Cupeake 15 3 Donut 16 4 20 | 5. Eclair 201 6 | 21 | z Froyo [22 [Ls e 23 9 Gingerbread [533 0 | 30 u Honeycomb 31 n axu l 15 | a 40 KH [Ice Cream Sandwich 403 | 15 41 16 Jellybean 42 | I7 | 3 o í 1 8/31 ls 44 | 19 fetos am? 20 Lollipop [50 | 21 1º O Android 44W é o KitKar para dispositivos vestíveis como os relógios com Android Wear, Falaremos de Android Wear no ca- pítulo 23. | É importante conhecer essas versões para sabermos quais APIs estão disponíveis para serem utilizadas em nossas aplicações, pois se acessarmos uma classe (ou até mesmo um atributo ou método) em nosso aplicativo que só esteja disponível em uma determinada versão, e executarmos a aplicação em um aparelho com uma versão anterior, ocorrerá um erro quando esse trecho de código for executado. Até a versão Gingerbread, o Android rodava exclusivamente em smartphones. Entretanto, quando os primeiros tablets Android foram lançados, eles vinham com a versão Honeycomb, que era exclusiva para esse tipo de aparelho, Foi aí que o Ice Cream Sandwich surgiu para reunificar a plataforma, e a partir de então a mesma versão do Android passou a rodar em smartphones e tablets. Introdução E Normalmente, a cada nova versão do Android, o Google apresenta um aparelho com a versão “pura” da plataforma, ou seja, sem nenhuma modificação feita pelo Fabricante. Esses aparelhos compõem a linha Nexus, da qual os modelos e as respectivas versões do Android estão listados na tabela 02. Tabela 0.2 — Linha de aparelhos Nexus Modelo Fabricante | Android | Nexus One 'HIC | 21 | | Nexus 5 | Samsung | 23 Galaxy Nexus Samsung | 40 | | Nexus 4 E | | Nexus 7 (Tabler) [Asus 41 | Nexus 10 (Tabler) sus 4 Nexus 5 LG 44 Nexus 6 | Motorola | 50 | Nexus 9 (Tablet) HTC 50 Google Play A Google Play é a loja de aplicativos, livros, filmes e músicas do Android, e é por meio dela que usuários de todo o mundo podem fazer o download de conteúdo para seu aparelho. Para publicarmos aplicativos na loja, devemos criar uma conta de desenvolvedor e pagar uma taxa de cerca de 25 dólares uma única vez, ou seja, não precisamos ficar renovando anualmente, como acontece em outras plataformas. Podemos optar por disponibilizar nossos aplicativos de forma gratuita ou paga, € nesse segundo caso o desenvolvedor fica com 70% do valor arrecadado sobre as vendas do aplicativo. Ao publicarmos uma aplicação, podemos visu alizar quantos usuários já baixaram o aplicativo, inclusive por versão do Android. Mas um recurso bastante údil é que, se ocorrer algum erro na sua aplicação, você receberá um log do erro no Google Play facilitando assim achar a causa do problema para que você possa resolvê-lo. Weremos como publicar um aplicativo no Google Play no capítulo 26. 20 Dominando o Android Instalação e configuração do ambiente Uma vez que conhecemos um pouco do histórico da plataforma, partiremos para a configuração do ambiente de desenvolvimento para começarmos a implementar nossos aplicativos. Precisaremos de um computador com o sistema operacional Microsoft Windows, Linux ou Mac OS X. O único pré-requisito é termos o JDK (ava Development Kit) instalado, que pode ser baixado gratuitamente no site da Oracle (http:lloracle.comijava). O próximo passo é escolher a IDE (Integrated Development Environment), poiso Google disponibiliza duas opções para os desenvolvedores: o Android Development Tools (ADT) e o Android Studio (AS). O ADT é uma versão do Eclipse que conta com o plugin do Android, que traz diversas ferramentas para auxiliar o desenvolvimento, a análise ea depuração dos aplicativos. Essa é a opção mais utilizada no mercado atualmente, pois o conjunto Eclipse+Plugin é usado desde que a plataforma foi lançada. OS, por sua vez, é uma personalização do Intelli] IDEA, e foi lançado no Google I/O de 2013. Enquanto eu escrevia este livro, ele encontrava-se em versão beta, mas, pelo que podemos perceber, a tendência é que o AS se torne a IDE-padrão, uma vez que, desde seu lançamento, o Google o vem utilizando em seus even tos e tutoriais na web. Sendo assim, essa será nossa escolha para criarmos os projetos no decorrer do livro. Entretanto o leitor pode utilizar o ADT e ajustar os exemplos apresentados com pouca ou nenhuma modificação. Faça o download do Android Studio que está disponível no endere- So hitp:lideveloper. android com/sdkfinstalling/studio.html e o instale no local de sua preferência!, Após a instalação, execute o Android Studio e será exibida a tela figura 01. Clique no link Checkfor updatesnow para instalar as atualizações disponíveis. Tanto o ADT quanto o AS vêm com o Android SDK (Software Development Kit), que contém as bibliotecas e ferramentas necessárias para o desenvolvimento, a compilação, o teste e a depuração de aplicativos Android. Uma dessas ferramentas é o SDK Manager, que nos permite instalar e atualizar os componentes do SDK do Android. Para acessar o SDK Manager, acesse a opção Configure > SDK Manager na tela inicial do Android Studio. Será exibida a tela da figura 02. O SDK Manager está localizado no diretório em que o AS foi instalado, ele é o executável android no subdiretório sdkitoois. am 1 Escolha um local no seu compurador onde haja permissões de escrita, pois o Android Studio baixa pacotes para a sua pasta. Introdução 2 Android Sesdlio é” Welcome to Android Studio Pica Projecto Quick Star EE Startame anciaid Stud erica EE ires ásting nais nte “A ec aut pega from viam Coral Ma marcãas fouod ES, epa pe dg Contigare Ê Does amd Hem-Tos Jidglt Seo AO 5 Ba NE SSD cl fre cores mp Eigura 01 — Tela inicial do Android Studio. sos o isa a SDK Path: [Appitatons/ Android Stadio. apr Rome o = == O AM Res Sema D TLITeols E + Android SDK Tools 226.2 Krinsniled = — Androsé SDK Platform-toois 19.0,1 Re installes + Android SDK Bulld-taats 190.3 Notinscaled Il + Android SDK Eulld-tools 19.0,2 — Not installed E + Android SOK Bulld-tools 19.01 — Notinstalted | Android SDK Build-toals 13 feinsmailed 1 -* Android SDK Bulld-toots 18.11 Notinstalled E + Android SDK Bulld-tools 181 — Norinstaled E + Android SOK Bulld-tools 18,01 — Notinstaled IE + Android SDK Esilá-toots 27 = Notinstalted DC TEZ Android 4.4.2 (AP 199 E [= Documentation for Android SDK 19 2 — Norinstaled O SDK Plarform 19 3 installed o À Samples for SDK 19 s Norinsmled o Ao ddanta ltteno AMI PAM Comme derme RAS Sape tmematod Shoye: [Wf Uodates New Miinstaled [ Obsoleze Saloc: Nose gr ilodaras — tesalipaciages... | | - Sosr by (2) API level (Repository Dessiect al Delets packages... | Done loading packages. or Figura 0.2 — Android SDK Manager. Certifique-se de que os seguintes itens estejam marcados ou já instalados: * Tools > Android SDK Tools * Tools> Android SDK Platform-tools * Tools > Android SDK Build-toois * Android X(APIY) > SDK Platform? 2 EmqueXéo nome da versão e Y é o API Level. 2 Dominando o Android * Android X (APIY)> ARM EABI v7a System Image * AndroidX(APIY) > Intel x86 Atom System Image * Extras > Android Support Repository * Extras > Android Support Library * Extras > Google Play Services * Extras > Google Repository * Extras> Intel x86 Emulator Accelerator (HAXM Installer) Instale os pacotes que estiverem marcados para instalação e atualização (indicados com o texto Update available) e clique em InstallN packages (em que N é a Quantidade de atualizações disponíveis). Certifique-se de manter sempre os pacotes atualizados para ter acesso aos recursos mais recentes do Android. Uma vez que estamos com os pacotes atualizados, devemos nos preocupar em como testar nossos aplicativos: em um aparelho real ou no emulador. No caso de utilizar um aparelho real, você deve habilitar duas opções nas configurações do dispositivo: Unknow sources (Fontes desconhecidas) dentro do menu Security (Segurança) e USB Debugging (Depuração USB) no menu Developer options (Opções do desenvolvedor. Depois disso, é só conectar seu aparelho ao computador por meio de um cabo USB. Normalmente, no Mac OS X e no Linux, o dispositivo é reconhecido auto- maticamente pela IDE; já no Windows, às vezes é necessário baixar o driver do dispositivo no site do fabricante.” É altamente recomendável utilizar um aparelho real em vez do emulador, pois durante o desenvolvimento você já pode sentir como ficará sua aplicação no dispositivo c como ficará sua usabilidade. Android Virtual Device Um Android Virtual Device, ou simplesmente AVD, é um emulador do Android no qual podemos testar nossas aplicações. Nele podemos configurar a versão do sistema operacional, o tamanho de tela, o espaço para o cartão de memória etc. 3 A opção de menu Opções do desenvolvedor não aparece por padrão a partir do Android 42. Para habilitá-la, selecione a opção Sobre o telefone e clique sete vezes seguidas sobre a opção Build Number. Ao fazer isso, aparecerá a mensagem “Você agora é um desenvolvedor”, Volte para a tela anterior, e a opção estará disponível, 4 O Windows Update às vezes não encontra os drivers de aparelhos menos “famosos” Nesse caso, entre no site do fabricante e procure por “Android ADB Driver” do seu aparelho. Introdução 23 Ele já vem no SDK, mas para utilizá-lo devemos criar um novo AVD definindo suas características. O emulador do Android é bem lento, por isso devemos instalar um acelerador disponibilizado para computadores com processador Intel. Ele está disponível na pasta do SDK, na subpasta extras/iniel/Hardware Accelerated Execution Manager. Clique no instalador disponível nessa pasta e você obterá uma tela similar à da figura 03. install Inteltfy Hardware Acce caeqtiom Manager â intel Welcome 10 the intel(ãO Hardware Acceleratod Execution Manager installer qm FS en ca > | “ra inato gls sous Erg ais eps GEES ME Ta MAIX 0 var “a Introduction | metem, O Mercoey Límir | Trsal AJ iz p hardware asairos vimuatzation eagive obesas ara ae trt Vriusizntion Tecinology a seed up Android development. Pensa note (rat Intel O Destisarion Setor | HAN cam ay be used wet she odio SDK and Andrgie 165 eculbtor images | Provisey by Inte | Important: Intel HAJXM requires an Inte! procoseos win Corais Rartegra features, | SEusna Eme Vimacaare Techooiogy (NT), This Iser mi check mheer you do trsol MEM nor qeataras tar more | cetapance cam «ur Intel HAUM Pagto Co Back Figura 0,3 — Instalação do acelerador de emulador da Iniel. Clique em Continue e siga as etapas do assistente de instalação. Em seguida, execute o SDK Manager como fizemos na seção anterior e selecione o menu Tools> Manage AVDs... = será exibida uma janela similar à da figura 04. Android viral DEviCE LAND) ER TSE] Device Oefinitions | Lisr of exissinp Android Virtua! Devices located ar (Users /hglauserandraia ave | | | avo bane Targer Name Piso APiLovel CPUJAR 1 veem Android 4.44 am 20 Android Wear ARM [armeahi- DOI sed Android L (Previva) L L ARM (armeabi-w7a) Deleti. Eetadio [ netrest | di A repaIrabSs ABGIOIA VituSl Device, DX An Abro Virtsál Device tp fale to long. Cck “Derall to see me error. Figura 04 — Lista de AVDs configurados no computador. 2 Dominando o Android Provavelmente sua lista estará vazia, pois por padrão não há nenhum AVD criado. Para criar um novo AVD, clique no botão Create... e será exibida a janela da figura 0.5. resta new Andro: AV Mame: ava Loitpep - Device Tager cousas Tnsel Mom 36,8 | E Keyoaro: É Hardusre xevbozra present sin Stinwith dymamichadeare como EmmtCamea: | None =: = Back Camera: rebcamO e Memory Opúons: RAM: 2045 o mendes * intucmalstocago: 259 “e é | soc = | = Size [ua | he EE Emulation Oasons: /Snanshar sf Ure mosE GPU Cascal ak Figura 0,5 — Criando um AVD. O campo AVD Name é o nome do seu emulador, e você pode usar o nome que pre- ferir, de preferência sem espaços ou caracteres especiais. No campo Device, você escolhe o aparelho que mais se adeque ao tamanho de tela que você deseja testar seu aplicativo. Aqui, escolhemos o Nexus 5. Quando eu escrevi este livro, a versão mais recente do Android era o “Android 50 —API Level 21e você pode utilizá-lo”. No campo CPU/ABI, selecione IntelAtom (x86 64] e em Keyboard você pode marcar o check para indicar que você usará o teclado do seu computador para digitar no emulador. Em Skin, selecione Skin with dynamichardware controls, que fará com que os botões de con- trole do Android (home, back, menu, volume etc.) apareçam ao lado do emulador. Nos dois campos seguintes — Front Camera e Back Camera — podemos simular a câmera frontal e traseira do aparelho, respectivamente, usando a webcam do computador. 5 Caso você não tenha um computador potente, você pode selecionar uma versão anterior do Android (a 23 ou 40, por exemplo), que o emulador executará mais rápido. Para isso, acesse o SDK Manager, e, na lista que for exibida, selecione o checkbox da versão que preferir Quanto menor for a versão e a tela, mais rápido o emulador executará. é Para utilizar a CPU/ABI Intel Atom você deve instalar o acelerador da Intel. Caso contrário, sele- cione a CPU/ABI armeabi-v7. Introdução 25 O próximo passo é definir a quantidade de memória alocada da sua máquina para o emulador. Em RAM, coloque 2.048”, e em VM Heap, 64. E para o SD card, não é necessário adicionar. Marque a opção Use HostGPU para que o emulador use o proces- sador de imagem da sua máquina, e isso fará que o emulador fique mais rápido. Feito isso, clique em 0k e seu emulador será criado e aparecerá na lista. Clique no emulador recém-criado, pressione o botão Start e, na janela que for exibida, selecio- ne Launch. Feito isso, o emulador deve ser inicializado. Esse processo pode demorar um pouco a primeira vez, e quando terminar ele ficará conforme a figura 06. Figura 06 — Emulador do Android em execução. Emulador Genymotion Como vimos na seção anterior, podemos utilizar o emulador para testar nossas aplicações. Entretanto o emulador nativo do Android é bem lento, principalmente em máquinas menos potentes, e apesar de ser muito melhor (e recomendado) testar sua aplicação em um aparelho de verdade (aliás, em vários), o emulador pode ajudar a verificar como o aplicativo se comportará em outros tamanhos de tela ou outras versões do Android. O Genymotion é uma ótima opção, pois tem um desempenho muito superior ao do emulador nativo, permite redimensionamento da tela, utiliza a webcam 7 Aqui estou usando 2048 MB de memória, pois o computador tem 8 GB de RAM. O Windows não aceita definir um valor acima de 768 MB. Nesse caso, você realmente terá de usar outra versão do Android (23 ou 40, por exemplo), utilizar o aparelho real ou o Genymotion, do qual falaremos na próxima seção.
Até o momento nenhum comentário
Esta é apenas uma pré-visualização
3 mostrados em 794 páginas