Guia de Android
Poucas carreiras oferecem tantas possibilidades quanto a de programador Android. Aqui neste guia voc� aprender� a criar aplicativos que armazenam dados localmente ou remotamente, acessam o hardware do dispositivo e muito mais.
Quer ter acesso a todos os cursos desse Guia?Primeiros Passos
Por ter chegado aqui imagino que voc� j� tenha decidido ser um programador mobile para Android. Caso contr�rio, se falta um empurr�ozinho nesse sentido, assista ao bate papo no v�deo a seguir, no qual falamos sobre porqu� escolher essa carreira.
Programar para Android � imergir em um sistema operacional que possui a sua pr�pria API de desenvolvimento, ferramentas e cultura. Por isso pesquisamos quais s�o as principais d�vidas de quem est� come�ando na programa��o mobile nativa para essa plataforma e respondemos as principais dentre elas no v�deo abaixo. Saiba qual � o investimento inicial, se � mesmo hora de abandonar o Java para estudar Kotlin e muito mais.
Al�m disso, tem como programar para Android sem necessariamente utilizar a sua linguagem, mas usando JavaScript. E o melhor, acessando os recursos nativos do Android. Para isso voc� deve usar o React Native, que voc� conhece melhor nessa s�rie:
Conhecendo o Android Studio
Desde o seu lan�amento na Google I/O em 2013, o Android Studio se consolidou como um ambiente de desenvolvimento completo para a programa��o de aplicativos nativos para Android. De f�cil instala��o e configura��o, conforme voc� ver� no curso a seguir, atualmente ele � a �nica ferramenta necess�ria para iniciar nesta plataforma.
Kotlin
Kotlin � uma linguagem de programa��o desenvolvidada pela JetBrain e juntamente com o Java s�o altamente interoper�veis, podendo ser usadas juntas no mesmo projeto. Inclusive, o Kotlin tem como base, e � executado na mesma M�quina Virtual do Java. Desde o lan�amento do Android Studio 3.0 em outubro de 2017, o Kotlin � inclu�do como uma alternativa ao compilador Java padr�o.
Para conhecermos um pouco sobre ela, selecionamos os seguintes conte�dos:
Fundamentos de aplicativo
O desenvolvimento de aplicativos utiliza alguns componentes como ponto de partida. Eles nos permitem criar interfaces de usu�rio, executar tarefas em segundo plano e implementar muitas outras rotinas em um aplicativo. Cada componente possui uma classe correspondente no Android SDK, com exce��o do Content Provider, que possui uma arquitetura um pouco mais elaborada.
Os cursos e os projetos abaixo apresentam o que s�o os componentes de aplicativo e o que podemos fazer com eles.
Activities
Atividades s�o as interfaces de usu�rio em aplicativos Android. Elas possuem um ciclo de vida e podem ser iniciadas pelo sistema operacional ap�s o recebimento de uma chamada ou uma mudan�a no posicionamento da tela do aparelho. Descubra como lidar com tudo isso aqui:
Intent
Os componentes de aplicativo podem trocar mensagens entre si utilizando um Intent. Nesse contexto, � comum utilizarmos um Intent para enviar algum dado de uma atividade para outra, como voc� aprender� neste conte�do:
Broadcast Receivers
Nosso pr�ximo ponto de parada s�o os receptores de transmiss�o com os quais um aplicativo poder� ouvir o que o sistema operacional Android tem para dizer. No projeto a seguir exemplificamos esse comportamento fazendo com que o aplicativo execute uma a��o em resposta a notifica��o de bateria em baixa carga emitida pelo Android.
Content Providers
Alguns aplicativos s�o tamb�m provedores de conte�dos, permitindo que os dados por eles armazenados sejam acessados por outros aplicativos. Um bom exemplo disso � a agenda de contatos do aparelho. Esse compartilhamento de informa��es entre aplicativos � poss�vel gra�as a uma arquitetura bem definida, na qual um aplicativo pode implementar apenas o lado de quem consome os dados, de provedor ou ambos os pap�is ao mesmo tempo.
Exemplificamos neste projeto como podemos solicitar os dados de um provedor de conte�do acessando a agenda de telefones do aparelho.
Fragments
� comum precisarmos manipular, adicionar ou remover certos conte�dos em uma interface de usu�rio dinamicamente, enquanto o aplicativo est� em execu��o. Igualmente, uma mesma funcionalidade do aplicativo pode precisar estar dispon�vel em mais de uma atividade e, naturalmente, precisamos de um mecanismo que nos permita duplicar funcionalidades sem repetir c�digo. � em cen�rios como esses que percebemos a import�ncia dos Fragments:
Bancos de dados e Adapters
Na arquitetura de aplicativos Android os adapters s�o muito utilizados para adicionar dados em uma interface de usu�rio sem conect�-la diretamente a uma fonte de informa��o. Quando iniciamos na programa��o de bancos de dados � comum lidarmos com adapters para desacoplar as camadas de acesso a dados e apresenta��o do projeto. Por isso, decidimos falar sobre esse assunto nesta se��o, vamos l�?
Acesso ao hardware e recursos do aparelho
Acessar o hardware, bem como consumir certos recursos do aparelho com um baixo consumo de energia e alta performance � um grande diferencial em aplicativos nativos. Nesta se��o, demonstramos como fazer isso, apresentando como as classes do SDK abstraem a comunica��o com componentes de baixo n�vel e recusos em smartphones.
Sensores
Diversos aplicativos s�o criados atualmente tendo como ponto de partida o consumo de certas informa��es do aparelho, como a sua movimenta��o, velocidade ou posicionamento. Esses dados s�o obtidos a partir de sensores, nosso primeiro ponto de parada nesta se��o sobre o acesso ao hardware na plataforma Android.
Bluetooth
Um outro recurso ainda muito utilizado para a troca de informa��es entre aparelhos, devido ao seu baixo consumo de energia � o Bluetooth, presente na maioria dos dispositivos:
NFC
Near Field Communication � uma tecnologia cujo funcionamento � semelhante ao Bluetooth, mas que n�o necessita do emparelhamento dos aparelhos. Saiba como utiliz�-la aqui.
M�dia
Som e imagem s�o recursos comumente utilizados para enriquecer a experi�ncia do usu�rio em rela��o ao aplicativo. Para isso o Android oferece suporte a diferentes tipos de m�dia com os quais aprendemos a lidar nestes conte�dos:
Consumindo web services
� raro usarmos aplicativos que n�o acessam a internet para realizar todas ou parte das suas tarefas. Atualmente, � a programa��o distribu�da o modelo com qual lidamos ao projetar aplica��es, o que vem permitindo uma evolu��o na experi�ncia do usu�rio, que pode acessar os seus dados a partir de um navegador, site ou aplicativo, necessitando apenas estar conectado a internet para isso. � importante para o programador que almeja criar participar da cria��o desses sistemas saber como acessar web services, o que demonstramos nesta se��o.
Tarefas ass�ncronas
A programa��o em rede para Android come�a entendendo o que s�o as tarefas ass�ncronas, cujo t�rmino independe do fluxo da aplica��o e est� vinculado a resposta do servidor, o que pode acontecer em qualquer momento ap�s uma requisi��o ter sido disparada.
Google Volley
Trata-se de uma tecnologia apropriada para o tr�fego de dados entre aplica��es e servidores que, de forma geral, substitui a cria��o de tarefas ass�ncronas, simplificando esse tipo de implementa��o.
Retrofit
Em cen�rios nos quais precisamos nos comunicar com web services RESTful, algo muito comum atualmente, � um consenso entre a comunidade de desenvolvedores optar pela API de alto n�vel Retrofit. Dentre as suas funcionalidades est� a transforma��o de mensagens de texto em formato json em classes da camada de modelo, e vice versa, de forma autom�tica. Confira!
RESTful e SOAP
Aqui nesta se��o apresentamos diferentes formas de consumir web services, incluindo RESTful e SOAP, a partir de um aplicativo Android.
Google maps
Google Maps � o servi�o de geolocaliza��o da Google. Com ele � encontramos lugares de acordo com a posi��o do aparelho e suas prefer�ncias de pesquisa. Nos conte�dos abaixo reunimos uma s�rie artigos para que voc� possa dominar essa tecnologia.
Boas pr�ticas
Como em toda linguagem e plataforma de programa��o, existem algumas sugest�es de boas pr�ticas para a constru��o de aplica��es Android, que visam melhorar sua qualidade e facilitar a sua manuten��o. Confira nos artigos abaixo algumas delas e como implement�-las:
Na pr�tica
Hora de praticar os conhecimentos adiquiridos at� aqui com projetos maiores. Os cursos nesta se��o apresentam como instalar depend�ncias no projeto, trabalhar com a biblioteca de compatibilidade para customizar o seu aplicativo e muitos outros recursos da plataforma Android. Pronto para come�ar?
Chegou a hora de criar um aplicativo completo no Android Studio! Topa? No curso abaixo voc� ter� tudo o que precisa para isso.
Projetos
Nesta se��o voc� encontra projetos completos para download, que voc� pode utilizar ou modificar para criar novos aplicativos Android nativos.
Mais sobre Android
Al�m dos cursos e exemplos sugeridos nesse guia, a DevMedia publica com frequ�ncia novos conte�dos sobre programa��o Android, os quais voc� pode conferir nos Guias de Consulta abaixo:
Al�m disso, voc� pode conferir todo o conte�do sobre programa��o mobile clicando aqui.