¿Por qué no solo usar fragmentos en el desarrollo de Android?

Un fragmento representa un comportamiento o una parte de la interfaz de usuario en una actividad

Entonces, dentro de una actividad donde se requieran componentes reutilizables, podemos usar fragmentos como encabezado, pie de página, navegación lateral izquierda y derecha. Pero el contenido corporal sigue cambiando. Por lo tanto, hacer que el contenido del cuerpo se convierta en parte del fragmento debería evitarse por completo

Razones :

  1. Complejidad incrementada
  2. Manejo más difícil de intenciones
  3. Difícil de leer, mantener y probar
  4. Riesgo de acoplamiento apretado
  5. Preocupaciones de seguridad

Si la aplicación se ejecuta durante años y se convierte en una aplicación de soporte, los desarrolladores y evaluadores pueden estar cambiando de vez en cuando. Si preparamos la aplicación, con muchos fragmentos, por las razones anteriores, la respuesta de la aplicación será más lenta, lo que generará una audiencia deficiente para la aplicación.

Caso de uso práctico:

Ahora imaginemos una aplicación grande y compleja, y un equipo de desarrolladores asignados para desarrollar esa aplicación. Si la aplicación se puede dividir en actividades separadas, conceptualmente es muy fácil dividir las tareas. Cada actividad es su propia caja de arena, por lo que el desarrollo paralelo es simple y comprobable por unidades. Si hay necesidades comunes, el equipo aún debe desarrollar Fragmentos y reutilizarlos, por supuesto. Debo agregar que la reutilización de código no ocurre con suficiente frecuencia en el desarrollo de software, pero si se hace correctamente, debería haber muchos Fragmentos reutilizables.

Al mismo tiempo, el conjunto de códigos no es reutilizable, es mejor ir solo con actividades.

Mejor manera es, según los requisitos, hacer la aplicación.

Usar siempre fragmentos no es bueno para inflar los datos a la interfaz de usuario, especialmente en caso de que

  • ConnectionTimeOut (o Internet bajo) ya que tomó mucho tiempo inicializar los datos. Entonces, a veces, usar cada actividad para inflar pocos datos es mejor que cada fragmento.
  • O para usar el método onActivityResult para ser más flexible, usar actividad también es mejor que. Ex. Puede llamar a FileDialogChooser en su aplicación.

Feliz programación !!!

No hay nada de malo en crear aplicaciones con una sola actividad y muchos fragmentos, siempre que el flujo de navegación de las aplicaciones tenga sentido.

El ciclo de vida de Fragment está entrelazado con el ciclo de vida de Activity y es un poco difícil de entender un poco. Sin embargo, los fragmentos también permiten tener elementos de interfaz de usuario modulares en una sola pantalla. Esa es una gran ventaja de Fragments sobre tener una sola Actividad.

Mantener el back stack de Activity en una aplicación de Android es mucho más fácil que el back stack de múltiples fragmentos. Esto se debe a que la plataforma en sí mantiene el back stack de Activity. Sin embargo, mantener la pila posterior de muchos fragmentos en una sola actividad puede ser confuso para los novatos, ya que debe ser administrado por el desarrollador.

Cuando cambia la orientación de la pantalla, la actividad se vuelve a lanzar. Si su aplicación contiene solo Actividades, esto no es un gran problema ya que se mantiene el estado de la Actividad, si cumple con algunas de las mejores prácticas. Pero ese no es el caso cuando tienes múltiples fragmentos en Activity. No digo que no sea posible, es un poco más complicado.

La vinculación profunda es mucho más fácil con Actividades que con Fragmentos. Si no sabe qué es la vinculación profunda, es solo un mecanismo útil mediante el cual, si se activa una notificación / se hace clic en algún tipo de enlace URL a la aplicación, la aplicación debe iniciarse y navegar automáticamente a algunas de las pantallas de la aplicación que no necesariamente se inicia la pantalla de la aplicación. Con múltiples fragmentos en Actividades, esto puede conducir a una situación un poco complicada.

Sin embargo, si se debe usar una Actividad y muchos fragmentos, muchas actividades con muchos fragmentos o solo muchas Actividades deben estar basadas únicamente en el requisito de las aplicaciones y la navegación de la aplicación. Nuestra preferencia / sesgo personal (del desarrollador) no debe dictar qué usar y en qué deben usarse.

Algunas veces es realmente conveniente usar una sola actividad y múltiples fragmentos. Estas dos aplicaciones (MyGroceryList, CTSee), que creé como proyectos de pasatiempo, contienen solo una Actividad y varios fragmentos. Ambas aplicaciones usan navegación por interfaz de usuario basada en cajones de navegación. Tenía mucho sentido usar una sola Actividad y múltiples fragmentos en este caso. También he trabajado en muchas otras aplicaciones (no puedo compartir los enlaces que no están disponibles en la tienda de aplicaciones pública) donde esto no era adecuado en absoluto.

Espero que esto ayude.

Depende de la aplicación que esté creando. He creado varias aplicaciones usando ambos enfoques y no puedo decir que una forma siempre es mejor que la otra. La última aplicación que creé usé el enfoque de Activity única y una navegación de estilo Facebook. Al seleccionar elementos de la lista de navegación, actualizo un solo contenedor Fragment para mostrar esa sección.

Dicho esto, tener una sola Activity también introduce muchas complejidades. Digamos que tiene un formulario de edición, y para algunos de los elementos que el usuario debe seleccionar o crear, requiere que vayan a una nueva pantalla. Con las actividades simplemente llamaríamos a la nueva pantalla con startActivityForResult pero con Fragments no existe tal cosa, por lo que terminas almacenando el valor en la Activity y haciendo que el fragmento de edición principal verifique la Activity para ver si los datos se han seleccionado y deberían mostrarse al usuario

Lo que dice Aravind sobre estar atascado en un solo tipo de Activity también es cierto, pero en realidad no es tan limitante. Su actividad sería una FragmentActivity y siempre que no necesite un MapView , no existen limitaciones reales. Sin embargo, si desea mostrar mapas, puede hacerlo, pero deberá modificar la Biblioteca de compatibilidad de Android para que FragmentActivity extienda MapActivity o usar el android-support-v4-googlemaps disponible públicamente.

En última instancia, la mayoría de los desarrolladores que conozco que siguieron la única ruta de Activity han vuelto a múltiples actividades para simplificar su código. En cuanto a la interfaz de usuario, en una tableta, a veces estás atrapado usando una sola Activity solo para lograr la interacción cada vez más loca que tus diseñadores inventan 🙂

Fuente: una actividad y todos los demás fragmentos

¡Espero que esto ayude! ¡Buena suerte!

No hay problema. De hecho, cuando su navegación principal es un cajón de navegación, probablemente tendrá uno (o dos, considerando una actividad de inicio de sesión sin cajón) y muchos fragmentos correspondientes a los elementos del menú en el cajón.

Eso es lo que hice en mi aplicación: Freelapp – Freelancer Chat – Aplicaciones de Android en Google Play

La desventaja es que probablemente tendrá que ser más cuidadoso con el mantenimiento del estado en el cambio de rotación de lo que tendría que haber tenido si hubiera tenido muchas actividades y ningún fragmento.

More Interesting

¿Qué necesito aprender si quiero crear aplicaciones de Android? Explicar detalladamente.

Cómo instalar una imagen del sistema para el emulador de Android Eclipse Juno sin el administrador de SDK

¿Es necesario aprender Kotlin para el desarrollo de Android ya que estoy desarrollando en Java para aplicaciones de Android?

¿Cómo analizo los datos JSON para una aplicación de Android?

¿Cuál es la mejor manera de desarrollar una aplicación para Android e iOS, React Native u otra cosa?

¿Qué conceptos de Java necesitas para estudiar el desarrollo de Android?

Cómo comenzar a trabajar independientemente en el desarrollo de aplicaciones de Android

¿Cómo podemos hacer una aplicación de Android usando el lenguaje C ++?

Recibo numerosos errores inútiles en Eclipse cuando creo un nuevo proyecto de Android. ¡Eclipse muestra errores en el archivo creado por sí mismo! ¿Qué tengo que hacer?

¿Cuáles son los mejores marcos para desarrollar aplicaciones móviles multiplataforma (Android / iPhone)?

¿Cuál es la diferencia entre Android SDK y Android Studio?

¿Debo aprender el desarrollo de aplicaciones de Android o concentrarme en lo académico?

¿Cuáles son los requisitos básicos para un desarrollador de Android? Una aplicación que se instalará en un servidor con un back-end y frontend, y un foro de preguntas y respuestas.

¿Cómo almacenan datos Evernote, Pocket, Tumblr, las aplicaciones populares de Android en modo fuera de línea?

Como principiante, ¿cómo puedo instalar ROM en mi Canvas A177?