Bienvenidos sean a este post, hoy hablaremos sobre los fragmentos en Android y si bien hemos visto muy por arriba los mismos en este post cuando vimos como usar Google Maps en Android, si bien lo mencione en el post citado la implementacion de Fragments se debio a la aparicion de las tablets y poder proveer a la aplicacion la capacidad de adaptarse a la pantalla de un movil como de una tablet, hasta ahora hemos visto como por recursos alternativos nos hemos podido adaptar a varios lenguajes, a distintos tipos de orientacion y tamaño de pantalla pero cuando hablamos de las diferencias entre tablet y movil tambien debemos tener en cuenta el reordenamiento de la informacion que mostraremos, aunque hoy los moviles han evolucionado muchisimo todavia las tablets mantienen algunas ventajas con respecto a ellos, especialmente a la hora de mostrar elementos al mismo tiempo, y otras particularidades en pantalla.

Anuncios

Pero que es un fragmento o Fragment? Los fragments son bloques de interfaz de usuario que pueden utilizarse en diferentes sitios, lo cual nos simplifica la composicion de la interfaz para el usuario, esto significa que nos permite diseñar y crear cada uno de los elementos de nuestra aplicacion por separado, y dependiendo del tamaño de la pantalla mostrando un elemento o mas de uno a la vez.

Ejemplo visual pero no es Fragments

Esta imagen es solo un ejemplo visual para entender el concepto de Fragments, a la izquierda podemos ver un ejemplo en una tablet, en este caso un browser con una pagina, en la derecha vemos el mismo caso de un browser con la misma pagina pero vean como se formateo para ingresar en la pantalla, esto es lo que podremos hacer con Fragments y tener que hacer una aplicacion para que se adapte a cada dispositivo.

Cuando diseñamos un fragment este ha de gestionarse a si mismo, recibiendo eventos de entrada y modificando su vista sin necesidad de que la actividad que lo contiene intervenga, esto nos facilita la posibilidad de utilizar varios fragments sin necesidad de modificar el codigo fuente, estos son muy importantes porque desde hace un tiempo se utilizan como elemento base del diseño de la interfaz para el usuario, por ejemplo como ya hemos visto en el post de Google Maps, y si bien hoy en dia la mayoria de los dispositivos ya tienen bien implementado el tema de Fragments todavia podemos encontrar dispositivos con Android menor a la version 3.0 y para ello existe una libreria que ofrece una compatibilidad para estas versiones, y esta se agregara automaticamente siempre y cuando la version de la API se menor a la 11 (Version 3.0 de Android).

Anuncios

Cada fragment ha de implementarse en una clase diferente, dichas clases tienen una estructura similar a la de una actividad pero con sutiles diferencias: la primera es que la clase debe extender a Fragment, el ciclo de vida es muy similar a una actividad aunque dispone de unos cuantos eventos mas que le indican cambios en su estado con respecto a la actividad que lo contiene, el ciclo de vida a su vez esta asociado al de la actividad, si se destruye la actividad esto ocasionara que todos los fragmentos se destruyan pero tambien se puede eliminar un fragmento sin necesidad de afectar una actividad.

Por lo general un fragment suele mostrar una vista (aunque no siempre es asi), en caso de usar una vista es recomendable definirla en un archivo XML, esto implica que debemos generar una clase en Java para su comportamiento y el archivo XML sera solamente para la apariencia.

Los fragmentos pueden ser introducidos en una actividad en formato Java o en XML, aunque ambas formas tienes sus ventajas y desventajas, si introduces un fragmento desde XML este va a ser de formas mas sencilla y ademas el diseño queda diferenciado del codigo, simplificando el trabajo al diseñador, sin embargo el inconveniente que posee esta forma de trabajar es que una vez introducido ya no podremos reemplazar el fragmento por otro, esto significa que un fragmento ingresado por XML es siempre estatico, en cambio por codigo podremos intercambiar el fragmento por otro.

Anuncios

En resumen, hoy hemos hablado sobre Fragments, que son, como trabajan, como se pueden implementar, y algunas caracteristicas mas, en los proximos posts veremos como implementarlo, espero les haya sido util sigueme en Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00