Diferencia entre revisiones de «Usuario:ManuelRomero/Android/Fragement/Conceptos»
De WikiEducator
Línea 2: | Línea 2: | ||
{{:Usuario:ManuelRomero/Android/Fragment/nav}} | {{:Usuario:ManuelRomero/Android/Fragment/nav}} | ||
<br> | <br> | ||
− | ==La clase Fragment | + | Referencias |
− | *Un fragment es una parte de una actividad, con su propia interfaz de usuario y comportamiento | + | *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''''' | *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''''' | *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''''' | ||
[[Image:fragment1.png]] | [[Image:fragment1.png]] | ||
==Herencia== | ==Herencia== | ||
La clase '''''Fragment''''' hereda directamente de '''''Object''''' como podemos ver en la imagen | La clase '''''Fragment''''' hereda directamente de '''''Object''''' como podemos ver en la imagen | ||
[[Imagen:claseFragment.png]] | [[Imagen:claseFragment.png]] | ||
+ | ===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 | ||
+ | onCreateView(LayoutInflater, ViewGroup, Bundle) | ||
+ | <!-- MRM Falta de traducir y entender bien | ||
+ | onActivityCreated(Bundle) tells the fragment that its activity has completed its own Activity.onCreate(). | ||
+ | onViewStateRestored(Bundle) tells the fragment that all of the saved state of its view hierarchy has been restored. | ||
+ | onStart() makes the fragment visible to the user (based on its containing activity being started). | ||
+ | onResume() makes the fragment interacting with the user (based on its containing activity being resumed). | ||
+ | |||
+ | As a fragment is no longer being used, it goes through a reverse series of callbacks: | ||
+ | |||
+ | onPause() fragment is no longer interacting with the user either because its activity is being paused or a fragment operation is modifying it in the activity. | ||
+ | onStop() fragment is no longer visible to the user either because its activity is being stopped or a fragment operation is modifying it in the activity. | ||
+ | onDestroyView() allows the fragment to clean up resources associated with its View. | ||
+ | onDestroy() called to do final cleanup of the fragment's state. | ||
+ | onDetach() called immediately prior to the fragment no longer being associated with its activity. | ||
+ | --> |
Revisión de 12:50 16 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
onCreateView(LayoutInflater, ViewGroup, Bundle)