Skip to content

Activity y Fragments

En este tutorial se van a describir los conceptos de Activity y Fragment, dos elementos fundamentales en las aplicaciones Android. Veremos también las ventajas que presentan los Fragments y se profundizará en el nuevo paradigma que proporcionan.

En un siguiente tutorial y video veremos de forma práctica su uso, desarrollando un proyecto Android en el que se definirán varios Fragments dentro de una misma Activity e interaccionando entre ellos.

Definiciones de Activity y Fragments

Vamos a definir en primer lugar estos conceptos:

Activity

De una forma resumida podríamos definirla como cada una de las pantallas que se crean en una aplicación Android. Para describir una Activity podemos identificar dos partes bien diferenciadas, la parte lógica y la parte gráfica.

  • La parte lógica sería la parte programática o código trasero, que es una clase Java encargada de implementar las funcionalidades de la aplicación.
  • La parte gráfica consiste en un archivo xml, situado en la carpeta nombreproyecto/res/layout/archivo.xml, dónde se definen los componentes gráficos que formarán la interfaz gráfica del usuario.

Parte Lógica de una Activity:

 

Parte Gráfica de una Activity:

Activity

* Imagen: ejemplo de activity, cada una de las pantallas que definimos en nuestra App

Documentación Oficial Android Activity

Fragment

Son componentes que funcionan dentro del ámbito de una Activity. Su finalidad es la de ampliar parte de la lógica utilizada para la navegación entre pantallas o Activities, pudiendo definir varios Fragments dentro de una misma Activity, interaccionando entre ellos. Fueron introducidos con la versión de Android 3.0 (API level 11), y representan el comportamiento de una porción de la interfaz de usuario asociada a una Activity.

Todo Fragment debe estar embebido dentro de una Activity, por lo que el ciclo de vida de un Fragment está ligado al de la Activity dónde se ha definido:

  • Al pausar una Activity se pausarán todos los Fragments definidos dentro de esta.
  • Si se destruye una Activty, todos los Fragments que contenga serán también destruidos.
  • Si la Activity se encuentra en ejecución, es posible manipular de manera independiente cada Fragment, inclusive destruirlo.

Fragments

* Imagen: una Activity con dos Fragments embebidos en ella

Documentación Oficial Android Fragment:

Ciclo de Vida de un Fragment

Para poder crear un Fragment es necesario crear una subclase de Fragment. La clase Fragment, al igual que la clase Activity, contiene funciones de tipo callback, (cuando una función es pasada como argumento a otra función) como pueden ser las funciones onCreate(), onStart(), onStop() y onPause().

Al menos, en todo ciclo de vida de un Fragment, se recomienda utilizar las siguientes funciones:

  • onCreate() : El sistema llama a esta función cuando se crea el Fragment.
  • onCreateView() : El sistema llama a esta función cuando se dibuja por primera vez el Fragment en la interfaz de usuario.
  • onPause() : El sistema llama a esta función cuando el usuario deja de utilizar el Fragment (no implica que éste sea destruido).

Ciclo de vida de un Fragment
*Imagen: ciclo de vida de un Fragment mientras su Activity está en ejecución.

Cambio de Filosofía

Tras la introducción de los Fragments en el S.O. Android (en la versión 3.0 como se ha comentado anteriormente), permitió la división de una Activity en Fragments, posibilitando la modificación de la apariencia de una Activity en tiempo de ejecución y preservando los cambios en la pila de procesos de la Activity:

Combinación de 2 activities en 1 fragment

*En esta imagen podemos apreciar como dos módulos de una interfaz de usuario dividida en dos Activities pueden combinarse en una sola Activity mediante el uso de dos Fragments.

Ventajas del uso de Fragments

  • Proporciona diseños más dinámicos y flexibles para pantallas más grandes.
  • No son necesarios cambios muy profundos en la jerarquía de vistas.
  • Cada Fragment definido en una Activity es independiente del resto de Fragments, y por lo tanto reutilizable.
  • Facilita la tarea de desarrollo de Apps que funcionen correctamente tanto en tablets como en dispositivos móviles (multidispositivo).
  • Un Fragment tiene su propio Layout y su propio ciclo de vida.

Autor: José Antonio Rodríguez Gázquez- Academia Android
Imágenes ‘ciclo de vida de un Fragment’ y ‘activity con 2 fragment’ de Android Developer con licencia Apache 2.0

Esta entrada tiene 4 comentarios

  1. Aplicaciones soportadas para varios tamaños de pantalla”,
    “Aprende a desarrollar en Android para APPs multi-
    dispositivo” o incluso “Fragments fácil o para Dummies”

    Componentes que funcionan dentro del ámbito de una
    Activity. la finalidad de estos es ampliar parte de la
    lógica utilizada para la navegación entre pantallas o
    Activities, definiendo varios Fragments dentro de
    una misma Activity, y representan el comportamiento de una porción de la
    interfaz de usuario asociada a una Activity.

Los comentarios están cerrados.

Volver arriba
Esta web usa cookies para su correcto funcionamiento. No hay cookies de publicidad, aunque algunos de los contenidos mostrados (videos o documentos insertados) están alojados en servicios externos (Youtube, Vimeo, Box...) que sí pueden implementar sus propias cookies. También se ha incluido en pruebas un Agente AI que incluye sus propias cookies   
Privacidad