Blog Criando aplicativos com integração ao Intents no Android com Delphi

Criando aplicativos com integração ao Intents no Android com Delphi

Criando aplicativos com integração ao Intents no Android com Delphi post thumbnail image

No Android, Intents são uma forma de comunicação entre diferentes componentes do sistema e entre aplicativos. Elas permitem que uma aplicação solicite uma ação de outra aplicação, como abrir uma página web, enviar um e-mail ou iniciar uma nova atividade dentro do mesmo aplicativo. Intents podem ser explícitas, quando o componente alvo é especificado, ou implícitas, quando o sistema decide qual componente deve responder baseado nas informações fornecidas na Intent.

Facilidade de uso

Intents facilitam a comunicação entre diferentes componentes de um aplicativo ou entre aplicativos distintos. Isso é crucial para o funcionamento de aplicativos modernos, onde a integração entre diferentes serviços e funcionalidades é necessária para oferecer uma experiência de usuário rica e coesa.

Conceito: Intents permitem que componentes como atividades, serviços e broadcast receivers se comuniquem entre si. Quando um componente quer iniciar outro componente, ele pode criar uma Intent descrevendo a ação desejada (por exemplo, visualizar uma foto, enviar uma mensagem, etc.) e enviá-la ao sistema Android, que determina o componente adequado para lidar com a Intent.

No mundo da automação comercial por exemplo, você já deve ter notado que podemos e até somos obrigados a chamar outros aplicativos para realizar tarefas pra nós, por exemplo aplicativos que precisam receber valores por débito e crédito. Normalmente uma maquinha de cartão com Android, os famosos POS, vem instalados aplicativos das empresas que farão o recebimento do pagamento. Esses apps recebem as requisições através de Intents, recebem o pagamento e devolvem a instrução para o aplicativo chamador. Isso é só pra você ter uma ideia de como funciona.

Exemplo prático:

No código acima, estamos criando um método chamado ShareTExt que fará o trabalho de enviar um texto para o sistema operacional Android. Nesse caso em especial, o Android carregará uma popup na parte inferior onde o usuáro deverá escolher para qual o aplicativo esse texto será enviado.

Além disso, podemos tanto usar Intents para enviar algo a outro aplicativo quando receber esses “comandos” em nosso app para realizar alguma tarefa. Veremos ambas opções.

Reuso de componentes

Usar Intents permite que aplicativos reutilizem funcionalidades de outros aplicativos, economizando tempo e esforço no desenvolvimento de funcionalidades que já existem e são bem implementadas por outros.

Exemplo Prático: Capturar Foto

Ao invés de implementar uma câmera completa dentro do seu aplicativo, você pode usar uma Intent para solicitar que o aplicativo de câmera nativo do dispositivo capture uma foto e retorne a imagem capturada.

Modularidade

Intents promovem um design modular, onde diferentes partes do aplicativo podem ser desenvolvidas e testadas separadamente. Isso leva a um código mais limpo e fácil de manter.

Conceito: Ao usar Intents para separar funcionalidades em diferentes atividades ou serviços, você garante que cada componente do seu aplicativo tenha uma única responsabilidade. Isso facilita a depuração, o teste e a manutenção do aplicativo a longo prazo.

Exemplo Prático: Iniciar uma nova atividade

Você pode usar uma Intent explícita para iniciar uma nova atividade dentro do seu aplicativo, promovendo a modularidade do código.

Flexibilidade

Intents permitem que aplicativos realizem uma ampla gama de ações, desde abrir páginas web até enviar emails e mensagens SMS. Isso oferece uma grande flexibilidade no design de funcionalidades do aplicativo.

Conceito: A flexibilidade das Intents permite que você adicione novas funcionalidades ao seu aplicativo com pouco esforço, aproveitando ao máximo as capacidades do dispositivo e do ecossistema Android.

Exemplo Prático: Enviar um Email

Você pode usar uma Intent para permitir que o usuário envie um email usando qualquer aplicativo de email instalado no dispositivo.

Obs. Os exemplos de código acima podem variar um pouco em cada versão do Delphi e/ou Android, mas as variações são mais raras, o Google tem isso muito bem desenvolvido no Android.

É possível criar um app que receba Intents?

Sim, é totalmente possível criar um aplicativo em Delphi que receba Intents. Para isso, é necessário declarar no arquivo de manifesto do aplicativo quais Intents ele está preparado para receber e implementar o tratamento dessas Intents no código do aplicativo.

Quais são os tipos de Intents que podemos integrar?

Podemos integrar diversos tipos de Intents, incluindo:

  • Intents Implícitas: Para ações como compartilhar texto, abrir URLs, enviar emails, etc.
  • Intents Explícitas: Para iniciar atividades ou serviços específicos dentro do mesmo aplicativo.
  • Broadcast Intents: Para receber notificações do sistema ou de outros aplicativos, como alterações na conectividade de rede ou na bateria.

Tipos de Intents no Android

1. Intents Implícitas

Intents Implícitas são usadas quando você deseja realizar uma ação sem especificar o componente exato que deve executá-la. Em vez disso, você fornece informações suficientes para que o sistema Android encontre o componente apropriado. Isso é útil quando você quer que o sistema escolha o melhor aplicativo para a tarefa, como abrir uma página web ou compartilhar texto.

Características:

  • Não especifica diretamente o componente que deve tratar a Intent.
  • Usa ações genéricas como ACTION_VIEW, ACTION_SEND, etc.
  • Permite que o usuário escolha entre várias opções se houver mais de um aplicativo que possa realizar a ação.

Exemplo Prático: Abrir uma Página Web

Neste exemplo, a Intent não especifica qual navegador deve ser usado para abrir a URL. O sistema apresentará uma lista de navegadores disponíveis e deixará o usuário escolher.

2. Intents Explícitas

Intents Explícitas são usadas quando você sabe exatamente qual componente deve tratar a Intent. Isso é comum quando você está comunicando entre diferentes atividades dentro do mesmo aplicativo. Aqui, você especifica diretamente a classe do componente que deve responder à Intent.

Características:

  • Especifica diretamente o componente alvo.
  • Usada principalmente para comunicação dentro do mesmo aplicativo.
  • Garante que a ação seja tratada pelo componente especificado.

Exemplo Prático: Iniciar uma Nova Atividade

Neste exemplo, a Intent especifica que a TNewActivity deve ser iniciada, garantindo que a ação será tratada pela atividade especificada.

3. Broadcast Intents

Broadcast Intents são usadas para enviar eventos para múltiplos componentes do sistema ou de aplicativos. Existem dois tipos principais de broadcasts: sistemáticos (enviados pelo sistema) e customizados (enviados pelos aplicativos). Componentes chamados Broadcast Receivers são usados para receber e tratar esses eventos.

Características:

  • Pode ser enviado para múltiplos receptores.
  • Usado para eventos do sistema como mudanças na conectividade, bateria fraca, etc.
  • Pode ser registrado dinamicamente no código ou estaticamente no manifesto do aplicativo.

Exemplo Prático: Receber Alterações na Conectividade de Rede

Primeiro, registre um BroadcastReceiver no manifesto do aplicativo para receber alterações na conectividade:

Depois, implemente o BroadcastReceiver em Delphi:

Hoje o artigo foi mais teórico, deixe nos comentários desse artigo se deseja que façamos algo mais detalhado, com exemplos mais práticos do dia a dia e se deseja um vídeo ou live onde possamos ver tudo funcionando.

Recomendo que assista ao vídeo do nosso amigo Landerson Gomes.

Conclusão

Os diferentes tipos de Intents no Android permitem que os aplicativos se comuniquem e interajam de maneiras flexíveis e poderosas. Intents Implícitas permitem ações gerais onde o sistema escolhe o melhor componente para responder. Intents Explícitas são usadas para comunicação direta entre componentes específicos. Broadcast Intents permitem a disseminação de eventos para múltiplos receptores, possibilitando reações a mudanças no sistema ou outras ações específicas. Compreender e utilizar esses tipos de Intents efetivamente pode melhorar significativamente a funcionalidade e a integração dos aplicativos Android desenvolvidos com Delphi.

Comunidade no Telegram

🚀Comente no campo abaixo 👇👇👇 o que achou e qual sua dúvida.

Te vejo na próxima

Adriano Santos

Deixe sua resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados