¿Por qué usar Fragmentos de Android?

14

He leído la documentación y algunos hilos de otras preguntas sobre este tema y realmente no me siento convencido; No veo claramente los límites de uso de esta técnica.

Los fragmentos ahora se ven como Mejores prácticas ; cada Actividad debe ser básicamente un soporte para uno o más Fragmentos y no llamar directamente a un diseño.

Los fragmentos se crean para:

  1. permite que Activity use muchos fragmentos, para cambiar entre ellos, para reutilizar estas unidades ... == > Fragment es totalmente dependiente del Context de una actividad, por lo que si necesito algo genérico que pueda reutilizar y manejar en muchas Actividades, puedo crear mis propios diseños personalizados o Vistas ... No me importará esto. Complejidad adicional que desarrolla la capa que agregarían los fragmentos.

  2. un mejor manejo a diferente resolución == > Está bien para tabletas / teléfonos en caso de un proceso largo, podemos mostrar dos (o más) fragmentos en la misma actividad en tabletas y uno por uno en los teléfonos. Pero ¿por qué usaría los fragmentos siempre ?

  3. manejo de devoluciones de llamada para navegar entre Fragmentos (es decir: si el usuario ha iniciado sesión, muestro un fragmento, de lo contrario, muestro otro fragmento). === > Solo intente ver cuántos errores tiene el inicio de sesión en el SDK de Facebook debido a esto, para comprender que es realmente (?) ...

  4. considerando que una aplicación de Android se basa en Actividades ... Agregar otros ciclos de vida en la Actividad sería mejor diseñar una Aplicación ... Me refiero a los módulos, los escenarios, la administración de datos y la conectividad. estar mejor diseñados, de esa manera. === > Esta es la respuesta de alguien que solía ver el SDK de Android y el Marco de Android con una visión de Fragmentos. No creo que esté mal, pero no estoy seguro de que dará buenos resultados ... Y es realmente abstracto ...

==== > ¿Por qué complicaría mi vida, codificando más, usándolos siempre? de lo contrario, ¿por qué es una buena práctica si es solo una herramienta para algunos casos? ¿Cuáles son estos casos?

    
pregunta ahmed_khan_89 12.06.2014 - 12:19

3 respuestas

4

Fragmento es una sección modular de una Actividad que tiene su propio ciclo de vida, recibe sus propios eventos de entrada , que puede agregar o eliminar mientras la actividad se está ejecutando (como una "subactividad" que puede reutilizar en diferentes actividades)

Además de la ventaja obvia de usar fragmentos, la optimización de la interfaz de usuario en diferentes pantallas, le permite administrar el procesamiento en segundo plano de la actividad sin un componente de interfaz de usuario visible.

Ahora ...

  

==== > ¿Por qué complicaría mi vida, codificando más ...?

Aunque se recomienda, no es necesario, a menos que planee controlar el ciclo de vida de elementos individuales y / o reutilizar el estado de pila o el historial de vistas anteriores.

    
respondido por el Zeus 07.07.2014 - 19:58
4

Si hay un caso de uso de "pasarela" para los escépticos de fragmentos, probablemente sean diálogos. Los métodos en tanto tiempo desaprobados showDialog(...) , onCreateDialog(...) , etc., fueron agradables, ya que el marco los llamaría para destruir y recrear automáticamente sus diálogos cuando la actividad de hospedaje se destruyó y se volvió a crear. Si crea sus propios diálogos directamente, debe administrar todo eso usted mismo. Pero si usa un DialogFragment , puede dejar que el marco los administre por usted. En este caso, los fragmentos pueden en gran medida simplificar su codificación.

    
respondido por el Kevin Krumwiede 25.06.2015 - 07:24
0

Hice esta pregunta hace más de un año.

Estoy usando fragmentos todos los días y lo recomendaría.

En primer lugar, quiero decir que usar fragmentos es solo una opción y será un reflejo para considerarlo una vez que comience a usarlos.

Ventajas:

1 / ayuda a modularizar el código donde puede tener un flujo completo en una Actividad, en fragmentos separados. Ejemplo:  + list / grid & detalle,  + iniciar sesión & registro & contraseña olvidada,  + etc. Es increíble obtener un código reutilizable, que siempre puede copiar & Pasado en diferentes proyectos.

2 / tienes un nuevo ciclo de vida, lleno de problemas que es cierto, pero también con ventajas. Ejemplo: el fragmento de instancia retenido es impresionante porque resuelve el problema de la orientación.

3 / puedes gestionar el flujo de tus fragmentos por eventos y oyentes de la Actividad.

4 / una pila de tus fragmentos en tu Actividad.

5 / usa la misma barra de acción en muchas pantallas.

Y muchos otros ...

Todavía estoy usando la Actividad como un contenedor único a veces, especialmente para el estuche de la cámara. Algunas API de Android y algunas bibliotecas de terceros no son fáciles de implementar en fragmentos.

Bueno, es como cualquier herramienta, debes considerarlo y juzgar por ti mismo si es mejor usarlo en un caso u otro.

Espero que esto pueda ayudar !!!

    
respondido por el ahmed_khan_89 03.08.2015 - 04:36

Lea otras preguntas en las etiquetas