MENU Mário Valney

Aula 10: O que são Intents (intenções) ?

Curso de Android 12 de agosto de 2018 0 comentários
Curso de Android
  • 12 - 08 - 18
  •        
  • 0

Veja todas as aulas aqui.

Tudo bem, galera? Antes de mais nada tenho uma má notícia: vamos encerrar nesse post o Curso de Android. Como alguns de vocês sabem, esse projeto começou no final de 2014 e conta com 10 aulas (mais a 3.5 que é um extra), mas infelizmente tivemos alguns problemas no caminho, como eu ficar sem notebook, e também coisas boas, como eu ficar sem tempo por ter muito trabalho. No final, um post desses leva bastante tempo, por contar com a atualização do projeto e a criação do código que tenho que apresentar para vocês, por isso, acho melhor encerrar do que ficar levando esse tempo todo para escrever um artigo.

Além disso, essa aula começou a ser escrita em 2016, então talvez tenha alguns pontos que precisam de atualização, mas o mais importante é o conceito de Intent. Por isso resolvi cortar a parte de mudança de Activity e publicar pelo menos a parte de Intents.

Relembrando

Antes de falar sobre os Intents, vamos lembrar em que pé estamos com o Reader.

A última aula em que tivemos código foi a Aula 8 e nela conseguimos conectar nosso Aplicativo à nuvem, ou seja, estamos pegando dados de um Webservice/API (no nosso caso, estamos usando a nossa pequena API Fake que eu criei).

Também temos nosso repositório no GitHub. Essa seria a partir do commit do final da Aula 8.

Sobre o Android Studio, quando comecei essa aula, tinha uma atualização, então para ficarem por dentro, estou usando o Android Studio 2.2.3 na versão e todos os plugins atualizados (mas provavelmente já está mais versões à frente).

Ah! Se você tiver problemas para atualizar o Android Studio no Ubuntu, dê uma olhada nesse link da documentação.

O que são Intents?

Um Intent (do inglês para intenção) é um objeto de mensagem que usamos para solicitar uma ação de um outro componente do aplicativo. Ou seja, podemos solicitar ações de uma Activity, de um Service, de um Content Provider ou de um Broadcast Receiver.

Existem várias formas de componentes se comunicarem, mas temos 3 usos fundamentais:

  • Iniciar uma Activity
  • Iniciar um Service
  • Fornecer uma transmissão, que será recebida pelos Broadcast Receivers

Nossa aula irá focar no primeiro tipo: iniciar uma activity, então você pode dar uma olhada na documentação para ver as outras formas, clicando aqui.

Tipos de Intents

Há dois tipos de Intents:

  • Os Intents Explícitos especificam o componente. Normalmente, usa-se para iniciar um componente no próprio aplicativo porque se sabe o nome da classe da Activity ou do Service. É o que iremos utilizar na nossa aula.
  • Os Intents Implícitos não nomeiam nenhum componente específico, mas declaram uma ação a ser feita, o que permite que um componente de outro aplicativo ou do próprio Android a realize. Por exemplo: se você deseja compartilhar algo, a ação do botão de compartilhar pode disparar um Intent implícito e o Android irá perguntar para o usuário qual App deve concluir a ação.

Mas aí você pergunta: como raios o sistema sabe quais componentes dos outros aplicativos podem executar essa ação?

Simples: o Android possui algo chamado filtro de intenções ou Intent Filter que é uma declaração feita no Manifesto do Android.

Lembra o que é um Arquivo de Manifesto? Se não, dê uma relembrada na nossa Aula 3.

Antes de encerrar o assunto sobre Intent Filters, já que nossa aula não irá se aprofundar muito sobre eles, vale lembrar que já o usamos no nosso manifesto:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

Informamos ao Android que esse Intent Filter era da categoria android.intent.category.LAUNCHER, que é uma categoria padrão. Você pode ver as outras na documentação do Intent: são as constantes com o nome CATEGORY_NOME.

Já a ação a ser executada é android.intent.action.MAIN, que também é uma ação padrão e pode ser vista na documentação, seguindo o mesmo padrão da categoria, porém com o nome ACTION_NOME.

E agora?

Como não vamos prosseguir com o curso, eu indicaria os cursos de Android da Udacity, afinal foi lá que aprendi. Se você achar o preço um pouco caro, dê uma olhada na Udemy.

Além disso, está saindo uma série sobre React Native no blog da Vizir. Recomendo!

E é isso: fico um pouco triste de encerrar o curso assim, mas tenho certeza que aprendemos bastante! O artigo sobre instalar o Android Studio é um dos mais visualizados do site.

Abraços e até a próxima. o/

Por favor, considere desativar o AdBlock

Não perca nenhuma novidade do nosso Curso!

Não se preoculpe, não enviaremos muitos e-mails, nem mostraremos seu e-mail para ninguém. Dúvidas?


Deixe seu comentário! Dúvida sobre como comentar
ou vai postar código? Leia antes.