Diferencia entre revisiones de «Usuario:ManuelRomero/Android/Fragement/Conceptos»
De WikiEducator
(→Activity propietaria de los fragmente) |
|||
Línea 51: | Línea 51: | ||
*Cada Fragment tiene su layout | *Cada Fragment tiene su layout | ||
===Activity propietaria de los fragmente=== | ===Activity propietaria de los fragmente=== | ||
+ | *http://jarroba.com/programar-fragments-fragmentos-en-android/ | ||
*Ahora definimos una activity que incorporará los layouts | *Ahora definimos una activity que incorporará los layouts | ||
*Como toda Activity contendrá su layout, pero en este caso vamos a definir tres diferentes, aunque con el mismo nombre | *Como toda Activity contendrá su layout, pero en este caso vamos a definir tres diferentes, aunque con el mismo nombre | ||
Línea 58: | Línea 59: | ||
#Que la activity se ejecuta en una tables grande en posición vertical. | #Que la activity se ejecuta en una tables grande en posición vertical. | ||
*Para que esto funcione cada uno de estos layouts, todos con el mismo nombre pues son el layout de una '''''Activity''''', lo guardaremos en diferentes carpetas | *Para que esto funcione cada uno de estos layouts, todos con el mismo nombre pues son el layout de una '''''Activity''''', lo guardaremos en diferentes carpetas | ||
+ | <!--TRAS UNA SERIE DE PROBLEMAS VOY A LEER EL DEVELOPER DE ANDROID Y LUEGO RETORNO--> | ||
+ | *Un Fragment solo puede funcionar en el código ligado a una '''''Activity''''' | ||
+ | *Para poder interaccionar con fragment: '''''FragementManager''''' | ||
+ | *Obetener un '''''Fragementmanager''''' = Activity.getFragmentManager() o Fragment.getFragmentManager() | ||
+ | *Todas las subclases de un fragment deben de incluir un constructor vacion <!--MRM-->público para que al restaurar una actividad no nos de un posible error | ||
+ | ===Los Fragments=== | ||
+ | *http://developer.android.com/guide/components/fragments.html | ||
+ | *You can think of a fragment is a modular section of an activity |
Revisión de 06:56 17 mar 2014
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |
Referencias
- http://www.sgoliver.net/blog/?p=3496
- http://developer.android.com/reference/android/app/Fragment.html
La clase Fragment
- Un fragment es una parte de una actividad, con su propia interfaz de usuario y comportamiento.
- De este modo podemos tener una actividad costruida a partir de uno o varios Fragment
- Por otro lado podemos usar el mismo Fragment para asignarlo a diferentes Activity
- En la figura tenemos una app con dos Activity, y otra app con una única Activity que contiene dos Fragment
Herencia
La clase Fragment hereda directamente de Object como podemos ver en la imagen
Haciendo un fragment
- Todo fragmente ha de tener asociado un layout y una clase java
- Un Fragment tiene su propio ciclo de vida que conviene conocer
- Un Fragmente no se puede ejecutar de forma independiente; Para ser ejecutado en una app siempre pertenecerá a una Activity.
- Su ejecución estará ligada a la ejecución de la Activity, pero tiene su propio ciclo de vida.
- hay una serie de métodos que conviene conocer:
- onAttach
- Llamado una vez que el Fragment es asociado a la Activity
onAttach(Activity)
- onCreate
- Invocado para crear el Fragment dentro de nuestra app.
onCreate(Bundle)
- onCreateView
- Crea la UI de usuario correspondiente a este Fragment y lo retorna para que forme parte de la UI de la Activity de la que depende
- Dentro de este método es donde asignamos el layout correspondiente al Fragment, y lo devolvemos para que la activity lo incorpore en su UI.
onCreateView(LayoutInflater, ViewGroup, Bundle)
- onActivityCreated
- Cuando la Activity de la que depende el Fragment, ya ha sido creada
- A partir de ahora podemos invocar a getActivity() para recuperar una referencia a dicha activity
onActivityCreated(Bundle);
- Cada Fragment tiene su layout
Activity propietaria de los fragmente
- http://jarroba.com/programar-fragments-fragmentos-en-android/
- Ahora definimos una activity que incorporará los layouts
- Como toda Activity contendrá su layout, pero en este caso vamos a definir tres diferentes, aunque con el mismo nombre
- Esto es por que en este caso queremos contemplar tres situaciones
- Que la acitivity se ejecuta en un móvil pequeño, solo mostraremos uno de los layouts del framgent en un memento determinado
- Que la activity se ejecuta en una tablet grande en posición horizontal.
- Que la activity se ejecuta en una tables grande en posición vertical.
- Para que esto funcione cada uno de estos layouts, todos con el mismo nombre pues son el layout de una Activity, lo guardaremos en diferentes carpetas
- Un Fragment solo puede funcionar en el código ligado a una Activity
- Para poder interaccionar con fragment: FragementManager
- Obetener un Fragementmanager = Activity.getFragmentManager() o Fragment.getFragmentManager()
- Todas las subclases de un fragment deben de incluir un constructor vacion público para que al restaurar una actividad no nos de un posible error
Los Fragments
- http://developer.android.com/guide/components/fragments.html
- You can think of a fragment is a modular section of an activity