Quer ter acesso a todos os cursos desse Guia?
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.
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.
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>