Home Menu

Menu



Avisos

Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 20/11/16, 11:50:22
Avatar de joselugf
joselugf joselugf no está en línea
Usuario poco activo
Mensajes: 7
 
Fecha de registro: nov 2016
Mensajes: 7
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Fragmentos y Activity

Buenos dias, he dado hace poco los fragments, y me gustaría saber si solo debo utilizar fragments o debo combinarlos tambien con las activity. Gracias
Responder Con Cita


  #2  
Viejo 20/11/16, 12:02:07
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Depende de si tu aplicación necesita de Fragments o no, no son obligatorios.

Te pongo unos ejemplos de uso de Fragments:

Ejemplo 1 (Maestro-Detalle para móvil y tablet)

Es el ejemplo típico de uso de Fragment, y el que viene en la documentación oficial de Google, o al menos el que venía cuando salió ICS.

Tienes una Activity que es una lista, que al pulsarla muestra el elemento de la lista en detalle en otra Activity. Eso en móviles funciona muy bien, pero en tablet quizás te interesaría mostrar una lista ocupando 1/3 de la pantalla y luego a la derecha ocupando 2/3 el detalle, así puedes ir cambiando de elemento que ves sin tener que ir pasando de una pantalla a otra.

En este caso tendrías 2 Fragments, uno con la lista y otro con el detalle, y 2 Activities, uno para móvil y otro para tablet. El del móvil carga siempre 1 único Fragment y se va reemplazando entre lista y detalle, el de la tablet carga 2 Fragments y sólo reemplaza el detalle.

De esta manera el 90% del código es igual entre móvil y tablet, y no necesitas hacer 3 Activities distintas, 2 para móvil y 1 para tablet. Así es más fácil mantener el código.

Ejemplo 2 (Sistema de navegación)

Tienes un sistema de navegación, ya sea en Tabs o en Navigation Drawer. En vez de tener que replicar el sistema en todas tus Activities, tienes 1 única Activity con los Tabs o Navigation Drawer, y vas reemplazando el contenido por el Fragment en cuestión al que quieres navegar.

Esto mismo vale en ViewPagers también.

En cualquier otro caso, apps cuyas Activities no tengan relación con ninguna otra no tienes porqué usar Fragments. Yo por ejemplo sólo uso Fragments para las pantallas que van en la parte principal de la aplicación (donde está el sistema de navegación), a partir de ahí todas las subpantallas que se van abriendo son Activities (salvo que alguna tenga un ViewPager).

Espero haberte ayudado.
Responder Con Cita
  #3  
Viejo 20/11/16, 12:13:11
Avatar de joselugf
joselugf joselugf no está en línea
Usuario poco activo
Mensajes: 7
 
Fecha de registro: nov 2016
Mensajes: 7
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
Depende de si tu aplicación necesita de Fragments o no, no son obligatorios.

Te pongo unos ejemplos de uso de Fragments:

Ejemplo 1 (Maestro-Detalle para móvil y tablet)

Es el ejemplo típico de uso de Fragment, y el que viene en la documentación oficial de Google, o al menos el que venía cuando salió ICS.

Tienes una Activity que es una lista, que al pulsarla muestra el elemento de la lista en detalle en otra Activity. Eso en móviles funciona muy bien, pero en tablet quizás te interesaría mostrar una lista ocupando 1/3 de la pantalla y luego a la derecha ocupando 2/3 el detalle, así puedes ir cambiando de elemento que ves sin tener que ir pasando de una pantalla a otra.

En este caso tendrías 2 Fragments, uno con la lista y otro con el detalle, y 2 Activities, uno para móvil y otro para tablet. El del móvil carga siempre 1 único Fragment y se va reemplazando entre lista y detalle, el de la tablet carga 2 Fragments y sólo reemplaza el detalle.

De esta manera el 90% del código es igual entre móvil y tablet, y no necesitas hacer 3 Activities distintas, 2 para móvil y 1 para tablet. Así es más fácil mantener el código.

Ejemplo 2 (Sistema de navegación)

Tienes un sistema de navegación, ya sea en Tabs o en Navigation Drawer. En vez de tener que replicar el sistema en todas tus Activities, tienes 1 única Activity con los Tabs o Navigation Drawer, y vas reemplazando el contenido por el Fragment en cuestión al que quieres navegar.

Esto mismo vale en ViewPagers también.

En cualquier otro caso, apps cuyas Activities no tengan relación con ninguna otra no tienes porqué usar Fragments. Yo por ejemplo sólo uso Fragments para las pantallas que van en la parte principal de la aplicación (donde está el sistema de navegación), a partir de ahí todas las subpantallas que se van abriendo son Activities (salvo que alguna tenga un ViewPager).

Espero haberte ayudado.
Muchas Gracias, me ha quedado un poco más claro el tema. Tengo otra duda, mi aplicacion comienza con un fragment con un menu de unos 5 botones, estaría bien que por cada boton que le diese abriese en ese mismo fragment otro fragment? y de ser así como podría sustituirlo. Gracias

Última edición por joselugf Día 20/11/16 a las 12:19:49
Responder Con Cita
  #4  
Viejo 20/11/16, 12:36:13
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por joselugf Ver Mensaje
Muchas Gracias, me ha quedado un poco más claro el tema. Tengo otra duda, mi aplicacion comienza con un fragment con un menu de unos 5 botones, estaría bien que por cada boton que le diese abriese en ese mismo fragment otro fragment? y de ser así como podría sustituirlo. Gracias
Un Fragment siempre está en una Activity, no pueden vivir por si mismos, lo único que necesitas es decirle al FragmentManager (que está en la Activity) que haga el reemplazo en el Layout que dedicas al Fragment.

Si estás declarando el Fragment como tal en el XML no podrás hacerlo (o al menos eso creo, nunca lo he probado), lo que necesitas es poner un FrameLayout en el XML y establecer el primer Fragment en el onCreate de la Activity, y a partir de ahí hacer los reemplazos.

El Fragment estático sería este:

https://developer.android.com/traini.../creating.html

Y el dinámico sería este:

https://developer.android.com/traini...agment-ui.html
Responder Con Cita
Gracias de parte de:
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 14:24:21 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007