Introducción a las estructuras de las aplicaciones de Android: actividades, fragmentos y receptores de transmisión

3. Intent: Mecanismo de comunicación entre componentes

Intent es uno de los mecanismos clave en el desarrollo de aplicaciones Android. Este componente se utiliza para iniciar una Activity, Service o enviar Broadcast. Además, Intent también permite la comunicación entre componentes dentro de la misma aplicación o incluso entre diferentes aplicaciones.

Intent pueden diferenciarse en:

  • Explícito: llama a un componente específico (como Activity o Service) mencionando directamente su nombre de clase.
  • Implícito: Especifica la acción que quieres realizar o el tipo de datos que quieres procesar, y el sistema Android seleccionará el componente más adecuado.

Tipos de intención

1. Explicit Intent

Explicit Intent se utiliza cuando se sabe claramente a qué componente se desea llamar, como un Activity o Service específico de la aplicación.

Cómo funciona:

Especifique el nombre de la clase de componente a la que desea acceder. Por ejemplo, iniciar una nueva Activity para mostrar los detalles del producto.

Intent intent   new Intent(this, ProductDetailActivity.class);
startActivity(intent);

Ejemplo de uso:

  • Inicie una nueva Activity para ver el formulario de inicio de sesión.
  • Inicie Service para descargar archivos en segundo plano.

2. Intent Implicit

Intent Implicit se utiliza cuando desea pedirle al sistema Android que seleccione el componente más apropiado en función de las acciones o los tipos de datos que especifique.

Cómo funciona:

Especifique las acciones (como ACTION_VIEW) y los datos (como URI o tipos MIME) que desea procesar. El sistema Android buscará un componente que pueda manejar la solicitud.

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(“https://www.example.com”));
startActivity(intent);

Ejemplo de uso:

  • Abra la URL en el navegador predeterminado del usuario.
  • Comparte texto o imágenes con otras aplicaciones (como redes sociales o correo electrónico).
  • Seleccione la aplicación para abrir el archivo PDF.

La diferencia entre intención explícita e implícita

AspectosExplicit IntentImplicit Intent
PropósitoLlama a componentes específicos de la aplicación.Solicitar al sistema que seleccione el componente adecuado.
UsoSe utiliza para la navegación interna de la aplicación.Se utiliza para interactuar con otras aplicaciones o componentes del sistema.
EjemploInicie la actividad de detalles del producto.Abra la URL en un navegador o comparta contenido.

Ejemplos de uso de intents en aplicaciones

1. Aplicaciones de comercio electrónico:

  • Explicit Intent: Comienza Activity detalles del producto cuando el usuario hace clic en un elemento de la lista de productos.
  • Implicit Intent: Comparta los detalles del producto en aplicaciones de redes sociales o correos electrónicos.

2. Aplicaciones de redes sociales:

  • Explicit Intent: Inicia un comentario Activity cuando el usuario hace clic en el botón “Ver comentarios”.
  • Implicit Intent: Abre un enlace externo en el navegador predeterminado del usuario.

3. Aplicaciones de música:

  • Explicit Intent: Inicia Service para reproducir una canción en segundo plano.
  • Implicit Intent: Comparte canciones con otras aplicaciones como WhatsApp o Instagram.

4. Broadcast Receiver: Responder a los cambios del sistema

Broadcast Receiver es un componente esencial de una aplicación de Android que permite que tu aplicación responda a Broadcast Intent enviados por el sistema Android u otras aplicaciones. Broadcast Intent es un mensaje del sistema que te informa sobre un cambio de estado o un evento específico, como un cambio en el estado de la batería, la conectividad de red o un mensaje SMS entrante.

Mediante el uso de Broadcast Receiver, puede crear aplicaciones que respondan mejor a los cambios en el entorno o el sistema, proporcionando así una mejor experiencia de usuario.

Artículos más recientes