0
Análisis y Diseñode SoftwareDepartamento de Ingeniería de Sistemas Telemáticoshttp://moodle.dit.upm.esCarlos A. Iglesias <...
Actividades 2Temario● 4.1 Introducción a Android● 4.2 Introducción Desarrollo con Android● 4.3 Ejemplo Desarrollo y Depura...
Desarrollo con Android 3TeoríaEjercicio práctico en el ordenadorAmpliación de conocimientosLectura / Vídeo / PodcastPrácti...
Actividades 4Bibliografía● Android Developers– http://developer.android.com/training/basics/activity-lifecycle/index.html–...
Actividades 5Objetivos● Entender qué es una Actividad● Entender el ciclo de vida de una actividad
Actividades 6Actividad● En Android no hay una clase con un maincomo en Java● Las actividades son el componenteprincipal en...
Actividades 7Pila de Actividades
Actividades 8Pila de Actividades● A medida que el usuario navega, lasactividades cambian de estado: se inician,son visible...
Actividades 9Estados de una actividad● Una actividad tiene 3 estados básicos:– Resumed (reanudada): actividad en primerpla...
Actividades 10Pirámide de estados● Con cada llamada a un método de callbackcambiamos de estado● Hay estados transitorios: ...
Actividades 11Ejemplo ActivityLifecycle (I)Debería ser stopped,es una optimización deAndroid
Actividades 12Ejemplo ActivityLifecycle (II)
Actividades 13Tiempo de vida de laactividad (I)Actividad visible(segundo plano)Actividad visible y activa(primer plano)Act...
Actividades 14Tiempo de vida de laactividad (II)●Tiempo de vida completo (actividad viva): entreonCreate() y onDestroy()– ...
Actividades 15Ejemplo Actividad
Actividades 16Actividad en Manifest.xml (I)● En el fichero Manifest.xml deben estardeclaradas las actividades de la aplica...
Actividades 17Actividad en Manifest.xml (II)Nombre clasede la actividad,continúa lapropiedadpackageIndica que es laactivid...
Actividades 18Crear Actividad● El sistema llama en secuencia aonCreate(), onStart(), onResume()
Actividades 19onCreate()● onCreate(Bundle savedInstanceState)● Es el único método que siempre debemos implementarlo● Llama...
Actividades 20onStart()● Se ejecuta tras onCreate() justo cuando laactividad pasa a ser visible para el usuario● Le sigue ...
Actividades 21onResume()● La actividad pasa a primer plano● Siempre le sigue onPause()● Qué debe hacer– Si se pausaron heb...
Actividades 22Pausar y reanudar unaActividad● Otra actividad pasa a primer plano, pero laactividad permanece parcialmente ...
Actividades 23onPause()● El sistema va a iniciar otra actividad● Qué debe hacer– Guardar cambios de estado para hacerlos p...
Actividades 24onResume()● Llamado si el usuario reanuda la actividadque está en pausa● Qué debe hacer– Inicializar los com...
Actividades 25Parar y reiniciar unaActividad● La actividad puede ser parada o reiniciadacuando..– El usuario selecciona ot...
Actividades 26Parar y reiniciar unaactividad● Métodos para parar/reiniciar: onStop() /onRestart() / onStart() / onResume()
Actividades 27onStop()● La actividad es parada y ya no es visible● El sistema puede llamar a onDestroy() sinecesita memori...
Actividades 28onRestart()● Llamado cuando una actividad parada sereinicia, y luego llama a onStart()● Poco habitual reescr...
Actividades 29onDestroy()●Llamado para liberar el objeto de la actividad●Normalmente habremos liberado todo en onStop() y ...
Actividades 30Estados matables - killable● Las actividades que están en un estadomatable pueden ser terminadas por elsiste...
Actividades 31Recrear una actividad● Cuando el sistema destruye una actividad, intentarecrearla en el estado a través de u...
Actividades 32Guardar estado● Antes de onStop(), llama aonSaveInstanceState() y tras onCreate()llama a onRestoreInstanceSt...
Actividades 33Ejemplo restore enonCreate()
Actividades 34Ejemplo restore en onStart()
Actividades 35Resumen● Las actividades tienen un ciclo de vida quepermite reactivarlas, reiniciarlas, pausarlas,pararlas, ...
Actividades 36¿Preguntas?
Upcoming SlideShare
Loading in...5
×

Tema 4.4 Actividades

144

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
144
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Tema 4.4 Actividades"

  1. 1. Análisis y Diseñode SoftwareDepartamento de Ingeniería de Sistemas Telemáticoshttp://moodle.dit.upm.esCarlos A. Iglesias <cif@gsi.dit.upm.es>1.0 19/04/2013Actividades
  2. 2. Actividades 2Temario● 4.1 Introducción a Android● 4.2 Introducción Desarrollo con Android● 4.3 Ejemplo Desarrollo y Depuración● 4.4 Actividades● 4.5 Interfaces de Usuario● 4.6 Intenciones● 4.7 Acceso a Datos● 4.8 Preferencias● 4.9 Hebras e internacionalización
  3. 3. Desarrollo con Android 3TeoríaEjercicio práctico en el ordenadorAmpliación de conocimientosLectura / Vídeo / PodcastPráctica libre / ExperimentaciónLeyenda
  4. 4. Actividades 4Bibliografía● Android Developers– http://developer.android.com/training/basics/activity-lifecycle/index.html– http://docs.huihoo.com/android/3.0/guide/topics/fundamentals/activities.html
  5. 5. Actividades 5Objetivos● Entender qué es una Actividad● Entender el ciclo de vida de una actividad
  6. 6. Actividades 6Actividad● En Android no hay una clase con un maincomo en Java● Las actividades son el componenteprincipal en Android● Una aplicación se compone de un conjuntode actividades (pantallas), de las que unaes la principal (MAIN) que es la quecomienza
  7. 7. Actividades 7Pila de Actividades
  8. 8. Actividades 8Pila de Actividades● A medida que el usuario navega, lasactividades cambian de estado: se inician,son visibles, se paran, se terminan, … elsistema Android notifica a la actividadmediante métodos callback (onCreate, ...)
  9. 9. Actividades 9Estados de una actividad● Una actividad tiene 3 estados básicos:– Resumed (reanudada): actividad en primerplano con la que interactúa el usuario– Paused (pausada): actividad semi-visible ensegundo plano, parcialmente tapada por otraactividad que está en primer plano que noocupa toda la pantalla; la actividad pausada nopermite interacción ni ejecuta código– Stopped (parada), actividad de fondo,completamente oculta y no ejecuta código
  10. 10. Actividades 10Pirámide de estados● Con cada llamada a un método de callbackcambiamos de estado● Hay estados transitorios: Created, Started
  11. 11. Actividades 11Ejemplo ActivityLifecycle (I)Debería ser stopped,es una optimización deAndroid
  12. 12. Actividades 12Ejemplo ActivityLifecycle (II)
  13. 13. Actividades 13Tiempo de vida de laactividad (I)Actividad visible(segundo plano)Actividad visible y activa(primer plano)Actividad viva
  14. 14. Actividades 14Tiempo de vida de laactividad (II)●Tiempo de vida completo (actividad viva): entreonCreate() y onDestroy()– Se crean los recursos y se liberan●Tiempo de vida visible: entre onStart() y onStop()– Es visible pero puede no estar en primer plano– Pueden llamarse múltiples veces a onStart() / onStop()– Estos métodos deben mantener los recursos que se necesitan paravisualizar la interfaz●Tiempo de vida activa: entre onResume() y onPause()– Es visible y está en primer plano, se puede interactuar con ella– Puede llamarse muchas veces a onPause() / onResume()
  15. 15. Actividades 15Ejemplo Actividad
  16. 16. Actividades 16Actividad en Manifest.xml (I)● En el fichero Manifest.xml deben estardeclaradas las actividades de la aplicación● La actividad inicial debe tener unintent-filter con acción MAIN y categoríaLAUNCHER
  17. 17. Actividades 17Actividad en Manifest.xml (II)Nombre clasede la actividad,continúa lapropiedadpackageIndica que es laactividad inicialque se lanza
  18. 18. Actividades 18Crear Actividad● El sistema llama en secuencia aonCreate(), onStart(), onResume()
  19. 19. Actividades 19onCreate()● onCreate(Bundle savedInstanceState)● Es el único método que siempre debemos implementarlo● Llamado cuando se inicia la actividad● A continuación el sistema llama a onStart() y onResume()●Qué debe hacer– Llamar a super.onCreate(savedInstanceState) para recuperar estadoanterior de la actividad si fue destruida– Inicializar los componentes de la actividad– Llamar a setContentView() para definir el layout de la actividad
  20. 20. Actividades 20onStart()● Se ejecuta tras onCreate() justo cuando laactividad pasa a ser visible para el usuario● Le sigue onResume() si la actividad pasa aprimer plano o de onStop() si se oculta● Qué debe hacer– Actualiza recursos de interfaz que va a servisible
  21. 21. Actividades 21onResume()● La actividad pasa a primer plano● Siempre le sigue onPause()● Qué debe hacer– Si se pausaron hebras, deben volverse aejecutar– Si hacemos algo que lleva un cierto tiempo
  22. 22. Actividades 22Pausar y reanudar unaActividad● Otra actividad pasa a primer plano, pero laactividad permanece parcialmente visible
  23. 23. Actividades 23onPause()● El sistema va a iniciar otra actividad● Qué debe hacer– Guardar cambios de estado para hacerlos persistentes sólo siel usuario espera que se autoguarden– Parar animaciones u otras acciones que consuman CPU– Liberar recursos que puedan afectar al uso de batería (GPS,cámara, ...)● Debe ser un método rápido para que podamos pasarrápido a la siguiente actividad (o llamada telefónica o...)
  24. 24. Actividades 24onResume()● Llamado si el usuario reanuda la actividadque está en pausa● Qué debe hacer– Inicializar los componentes que se liberaron enonPause()– Reiniciar animaciones, etc. que se pararon enonPause()
  25. 25. Actividades 25Parar y reiniciar unaActividad● La actividad puede ser parada o reiniciadacuando..– El usuario selecciona otra aplicación enaplicaciones recientes– El usuario pulsa “Back” para regresar a laactividad anterior– El usuario recibe una llamada telefónica
  26. 26. Actividades 26Parar y reiniciar unaactividad● Métodos para parar/reiniciar: onStop() /onRestart() / onStart() / onResume()
  27. 27. Actividades 27onStop()● La actividad es parada y ya no es visible● El sistema puede llamar a onDestroy() sinecesita memoria● Es llamado tras un onPause()● Qué debe hacer– Realizar operaciones intensivas en CPU paraguardar el estado, como escribir en base dedatos
  28. 28. Actividades 28onRestart()● Llamado cuando una actividad parada sereinicia, y luego llama a onStart()● Poco habitual reescribirlo● Qué debe hacer– Reiniciar recursos que fueron destruidos enonStop()
  29. 29. Actividades 29onDestroy()●Llamado para liberar el objeto de la actividad●Normalmente habremos liberado todo en onStop() y notendremos que usarlo●Puede destruirla el sistema o nosotros invocando finish()●Si se cambia la configuración de la Actividad (orientaciónpantalla, teclado, idioma, …) la actividad se destruye y reinicia●Qué debe hacer:– Liberar recursos que no hemos liberado antes (p.ej. Hebras), peroimprobable– Guardar cambios en configuración (isConfigurationchange()) parareiniciar con esos cambios
  30. 30. Actividades 30Estados matables - killable● Las actividades que están en un estadomatable pueden ser terminadas por elsistema en cualquier momento● Estados matables: onPause(), onStop(),onDestroy()● Sólo se garantiza que se va a llamar aonPause() antes de matar la actividad
  31. 31. Actividades 31Recrear una actividad● Cuando el sistema destruye una actividad, intentarecrearla en el estado a través de un objeto Bundle(par-valor)– Ej. el usuario da Back hasta llegar a ella o el usuario girael dispositivo● El sistema reconstruye la interfaz (objetos View) sinque hagamos nada● Debemos guardar datos adicionales de la interfazusando el método onSaveInstanceState(), el resto dedatos se guardan en onPause()
  32. 32. Actividades 32Guardar estado● Antes de onStop(), llama aonSaveInstanceState() y tras onCreate()llama a onRestoreInstanceState()
  33. 33. Actividades 33Ejemplo restore enonCreate()
  34. 34. Actividades 34Ejemplo restore en onStart()
  35. 35. Actividades 35Resumen● Las actividades tienen un ciclo de vida quepermite reactivarlas, reiniciarlas, pausarlas,pararlas, …● Para gestionar los cambios, usamosmétodos de callBack● Siempre tenemos que implementaronCreate() y fijar el layout de la actividad
  36. 36. Actividades 36¿Preguntas?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×