¿Cuándo debería usar fragmentos en las aplicaciones de Android? ¿Por qué usar fragmentos?

Sé por qué usar fragmentos y el sitio para desarrolladores de Android lo explica bien. Pero en la mayoría de los casos quiero que en las tabletas las diferentes partes tengan su propio comportamiento especial y su IU, y no sé cómo los fragmentos pueden ayudar. En la mayoría de los casos, creo que es más rápido crear 2 actividades diferentes (1 para tabletas y 1 para teléfonos) y para compartir los comportamientos y eventos comunes en una tercera clase. Entonces, teniendo esto en cuenta ¿por qué debería usar fragmentos?

Los fragmentos son más un beneficio de UI en mi opinión. Es conveniente para el usuario a veces ver dos vistas diferentes de dos clases diferentes en la misma pantalla. Si, en tu momento de creatividad, decides que sería bueno mostrar tu aplicación con, digamos, una lista que ocupa la mitad de la pantalla y una vista web que ocupa la otra mitad, de modo que cuando haces clic en un elemento de la lista El fragmento A transmite un bash a la vista web en el fragmento B, y de repente ves lo que acabas de hacer clic sin las actividades de cambio de aplicación, entonces puedes usar un fragmento. Es solo un ejemplo que surgió de la parte superior de mi cabeza.

En pocas palabras: los fragmentos son dos o más actividades en la pantalla al mismo tiempo.

Los beneficios que veo cuando uso fragmentos son:

  • Encapsulación de lógica.
  • Mejor manejo del ciclo de vida del fragmento.
  • Reutilizable en otras actividades.

Los inconvenientes que veo son:

  • Más código (por ejemplo, crear instancias de un administrador de fragmentos, agregar la transacción de fragmentos, escribir las devoluciones de llamadas del fragmento)
  • La comunicación entre fragmentos y actividades es más difícil. Como lo dijo @jonney , necesitarías lidiar con una interfaz con plots para serializar tus objetos que deseas pasar.

Entonces, cuando decida usar un fragmento, me haría las siguientes preguntas:

  • ¿El ciclo de vida del fragmento es diferente al ciclo de vida de la actividad?

Si el ciclo de vida es diferente, obtienes un mejor manejo del ciclo de vida usando un fragmento. Por ejemplo, si quieres destruir el fragmento, pero no la actividad. Tal es el caso, cuando tienes un adaptador de buscapersonas .

  • ¿El fragmento va a ser usado en varias actividades?

Los eventos de entrada del usuario serán reutilizables si usa un fragmento.

  • ¿Es pequeña la cantidad de comunicación entre el fragmento y la actividad?

Si necesita pasar grandes objetos al fragmento, deberá tratar con el código que los serializa. Además, si necesita comunicarse entre fragmentos y actividades, probablemente necesite implementar interfaces. Esto, en la mayoría de los casos, agrega complejidad a su base de código. No es un factor diferenciador, sino un criterio a tener en cuenta.

Google le recomienda usar SIEMPRE Fragmentos.

¿Por qué? Es sencillo:

En el caso más simple, los fragmentos se utilizan como contenedores de actividades.

¿Por qué necesitas esto? Nuevamente, es simple.

Android 4 (ICS) es compatible con teléfonos inteligentes y tabletas. Esto significa que la MISMA aplicación se ejecutará en un teléfono inteligente y una tableta y es probable que sean muy diferentes.

Las tabletas tienen pantallas grandes que estarán vacías o sin usar, a menos que lo asigne correctamente.

Eso significa: poner dos fragmentos en una actividad, como la lista de contactos y la información de contacto.

El smatphone mostrará la lista de contactos y, en una pantalla táctil, mostrará la información del contacto.

En una tableta, el usuario seguirá viendo la lista y la información estará junto a ella.

2 fragmentos- en una pantalla ….

¿Inteligente? sí … se supone que es compatible con Android 1.6 …


################################################## ###########

OK, ¿Ya lo sabía? entonces – solo trata de entender el caso resuelto:

Muchas cosas funcionan de esa manera: lista y detalles, menús y submenús, información, información detallada y más información detallada. Desea una manera de mantenerlo natural y sin problemas para una tableta que espera preformar de esa manera, pero no puede esperar que el teléfono inteligente lo muestre todo como lo hizo la tableta …

¿Consíguelo?

para más información, mira esto. Realmente creo que solo necesitas captar el concepto …

Históricamente, cada pantalla de una aplicación de Android se implementó como una actividad separada. Esto crea un desafío al pasar información entre pantallas porque el mecanismo Android Intent no permite pasar un tipo de referencia (es decir, un objeto) directamente entre Actividades. En su lugar, el objeto debe ser serializado o debe haber una referencia accesible a nivel mundial disponible.

Al hacer que cada pantalla sea un Fragmento separado, este dolor de cabeza que pasa datos se evita por completo. Los fragmentos siempre existen dentro del contexto de una Actividad dada y siempre pueden acceder a esa Actividad. Al almacenar la información de interés dentro de la Actividad, el Fragmento para cada pantalla puede acceder simplemente a la referencia del objeto a través de la Actividad.

https://softwareengineering.stackexchange.com/questions/244771/why-use-android-fragments

Fragmento soporte primario más dynamic y pantalla de IU grande como tableta. Porque la pantalla de la tableta es mucho más grande que el auricular normal. Hay más espacio para combinar e intercambiar el componente de la interfaz de usuario.

El fragmento permite dicho diseño sin la necesidad de un cambio tan complejo en la jerarquía de Vista.

Al dividir el diseño de la actividad en fragmentos, podemos modificar la apariencia de la actividad en tiempo de ejecución