Série da semana: Conheça o jeito Pythônico de programar

Veja mais

Quer ter acesso a todos os cursos desse Guia?

Guia do Programador 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.

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.

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.

Suporte ao aluno - Deixe a sua dúvida.
Assinatura Devmedia
Faça parte dessa comunidade 100% focada em programação e tenha acesso ilimitado. Nosso compromisso é tornar a sua experiência de estudo cada vez mais dinâmica e eficiente. Portanto, se você quer programar de verdade seu lugar é aqui. Junte-se a mais de...
+ 800 Mil programadores
,90* / mês
  • Séries
  • Projetos completos
  • Cursos
  • Guias de carreiras
  • DevCasts
  • Desafios
  • Artigos
  • App
  • Suporte em tempo real
A assinatura é cobrado através do seu cartão de crédito. *Tempo minimo de assinatura: 12 meses.
Assinatura Devmedia
Faça parte dessa comunidade 100% focada em programação e tenha acesso ilimitado. Nosso compromisso é tornar a sua experiência de estudo cada vez mais dinâmica e eficiente. Portanto, se você quer programar de verdade seu lugar é aqui. Junte-se a mais de...
+ 800 Mil programadores
Conheça agora!
,90* / mês
  • Séries
  • Projetos completos
  • Cursos
  • Guias de carreiras
  • DevCasts
  • Desafios
  • Artigos
  • App
  • Suporte em tempo real
A assinatura é cobrada através do seu cartão de crédito. *Tempo mínimo de assinatura: 12 meses.