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

Beneficios de usar Fragment

Fragment proporciona algunos beneficios clave en el desarrollo de aplicaciones para Android:

  1. Modularidad: Al dividir Activity en Fragment, puede administrar cada parte de la interfaz por separado, lo que facilita el desarrollo y mantenimiento del código.
  2. Flexibilidad: Fragment permite la aparición de varias partes de la interfaz en un solo Activity, especialmente útil para dispositivos con pantallas grandes como tablets.
  3. Reutilización: Fragment se puede reutilizar en una variedad de Activity, lo que reduce la repetición de código y mejora la eficiencia del desarrollo.
  4. Adaptabilidad: Fragment fácil personalización de la interfaz para diferentes tamaños de pantalla y orientaciones de dispositivos.

Ejemplos de uso de fragmentos en aplicaciones de comercio electrónico:

  • Fragment Primero: Muestra la lista de productos en el lado izquierdo de la pantalla.
  • Fragment Segundo: Muestra los detalles del producto en el lado derecho de la pantalla.
  • En dispositivos móviles, solo se muestra un fragmento a la vez, mientras que en tabletas, ambos Fragment se pueden mostrar al mismo tiempo.

Cómo  funciona Fragment

Fragment tienen un ciclo de vida similar al Activity, incluidos métodos como onCreateView(), onStart() y onDestroyView(). Sin embargo, el ciclo de vida Fragment está relacionado con el Activity que lo muestra.

Puede agregar Fragment a Activity mediante FragmentManager y FragmentTransaction.

FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.fragment_CONTAINER, new MyFragment());
fragmentTransaction.commit();

Fragment no pueden comunicarse entre sí directamente. Alternativamente, la comunicación se lleva a cabo a través del Activity que alberga el Fragment o mediante el uso de una interfaz (interface) para transferir datos.

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.

Artículos más recientes