Análisis y Diseño      de SoftwareDesarrollo con AndroidFramework Android                    Carlos A. Iglesias <cif@gsi.d...
LeyendaTeoríaEjercicio práctico en el ordenadorAmpliación de conocimientosLectura / Vídeo / PodcastPráctica libre / Experi...
Temario● 4.1   Introducción a Android [Gar10, cap1-2 ]● 4.2   Desarrollo con Android [Gar10, cap3-5]  –   4.2.1. Instalaci...
Bibliografía●   Libro de texto:– [Gar10] Learning Android, Marko Gargenta,    OReilly, 2010. Disponible en    http://ofps....
Bibliografía complementaria●Hello Android, E. Burnette, The PragmaticBookshelf, 3rd Edition, 2008. Capítulo 2.●http://www....
Objetivos● Aprender cuáles son los bloques de unaaplicación en Android● Comprender los ciclos de vida deactividades y serv...
Bloques de una aplicación● Actividad   (Activity): cada pantalla de la aplicación● Servicio (Service): una tarea que se ej...
Actividad●Una   actividad representa una pantalla● La pantalla inicial de la aplicación es lamain activity.●Activity Manag...
Ciclo de vida de una      Actividad           Desarrollo con Android   9
Ciclo de vida de un servicio               Desarrollo con Android   10
Proveedor de contenidos            ●Proporciona una            API CRUD            ● Mecanismo            común para      ...
Receptores de difusión            ● Sigue patrón            publish/subscribe            ●  El subscriptor            tien...
Contexto de Aplicación● Todos los componentes de unaaplicación se ejecutan en un contexto deaplicación● El contexto de apl...
¿Quién controla?● En programación tradicional, sabemos qué seejecuta a continuación● En programación orientada a eventos, ...
Activando componentes●En  Android, una aplicación puede activar unaactividad de otra aplicación. P. ej. una appquiere capt...
Intenciones (I)● Intención (Intent): describe un tipo deacción (seleccionar una foto, enviar uncorreo, …)● Las intenciones...
Intenciones (II)● Intención explícita: indicamos eldestinatario●Intención  implícita: indicamos el tipo dedestinatario (p....
Patrón de Diseño●   Es una solución a un problema concreto●   Permite unificar la terminología●   P.ej.–   Problema: tener...
Patrón Publish-Subscribe(Publicador/Subscriptor)             Desarrollo con Android   19
Ejemplo Yamba       Desarrollo con Android   20
Diagrama de Diseño          Desarrollo con Android   21
Resumen● Hemos  aprendido los principales componentesde una aplicación: actividades, servicios,proveedores de contenidos y...
¿Preguntas?      Desarrollo con Android   23
Upcoming SlideShare
Loading in …5
×

Tema 4.2.2 Desarrollo con Android. El Framework de Android.

1,565 views

Published on

Descripción del Framework de Android y de sus principales componentes.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,565
On SlideShare
0
From Embeds
0
Number of Embeds
98
Actions
Shares
0
Downloads
106
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tema 4.2.2 Desarrollo con Android. El Framework de Android.

  1. 1. Análisis y Diseño de SoftwareDesarrollo con AndroidFramework Android Carlos A. Iglesias <cif@gsi.dit.upm.es> Departamento de Ingeniería de Sistemas Telemáticos http://moodle.dit.upm.es
  2. 2. LeyendaTeoríaEjercicio práctico en el ordenadorAmpliación de conocimientosLectura / Vídeo / PodcastPráctica libre / Experimentación Desarrollo con Android 2
  3. 3. Temario● 4.1 Introducción a Android [Gar10, cap1-2 ]● 4.2 Desarrollo con Android [Gar10, cap3-5] – 4.2.1. Instalación [Gar10,cap3] – 4.2.2. Framework Android [Gar10,cap4]● 4.3 Interfaces de Usuario [Gar10, cap6]● 4.4 Intenciones y Servicios [Gar10, cap7-8]● 4.5 Acceso a Datos [Gar10, cap9] Desarrollo con Android 3
  4. 4. Bibliografía● Libro de texto:– [Gar10] Learning Android, Marko Gargenta, OReilly, 2010. Disponible en http://ofps.oreilly.com/titles/9781449390501/– Capítulos 4-5– http://www.youtube.com/watch?v=SW82-YOOMIs● Android Developers– http://developer.android.com/guide/topics/fundamentals .html Introducción a Android 4
  5. 5. Bibliografía complementaria●Hello Android, E. Burnette, The PragmaticBookshelf, 3rd Edition, 2008. Capítulo 2.●http://www.maestrosdelweb.com/editorial/curso-android-construir-lector-de-feeds/ Desarrollo con Android 5
  6. 6. Objetivos● Aprender cuáles son los bloques de unaaplicación en Android● Comprender los ciclos de vida deactividades y servicios Desarrollo con Android 6
  7. 7. Bloques de una aplicación● Actividad (Activity): cada pantalla de la aplicación● Servicio (Service): una tarea que se ejecuta de fondo sininteracción directa del usuario. P. ej. un temporizador● Proveedor de Contenidos (Content Provider):interfaces para compartir datos entre aplicaciones● Receptores de difusión (Broadcast receivers):mecanismo de comunicación por subscripción a eventos(p.ej. Batería baja o captura realizada) Desarrollo con Android 7
  8. 8. Actividad●Una actividad representa una pantalla● La pantalla inicial de la aplicación es lamain activity.●Activity Manager: es el responsable delciclo de vida de la actividad (crear, parar,…)● Mantiene una pila de actividadesrecientes Desarrollo con Android 8
  9. 9. Ciclo de vida de una Actividad Desarrollo con Android 9
  10. 10. Ciclo de vida de un servicio Desarrollo con Android 10
  11. 11. Proveedor de contenidos ●Proporciona una API CRUD ● Mecanismo común para aplicaciones y para el sistema (settings, contactos, etc.) Desarrollo con Android 11
  12. 12. Receptores de difusión ● Sigue patrón publish/subscribe ● El subscriptor tiene un método que se ejecuta cuando recibe el evento Desarrollo con Android 12
  13. 13. Contexto de Aplicación● Todos los componentes de unaaplicación se ejecutan en un contexto deaplicación● El contexto de aplicación es el espaciocompartido que les permite compartir datosy recursos● El CA se crea cuando se lanza el primercomponente de una aplicación Desarrollo con Android 13
  14. 14. ¿Quién controla?● En programación tradicional, sabemos qué seejecuta a continuación● En programación orientada a eventos, elprogramador NO CONTROLA en qué estadoestá el programa, es gestionado por el sistema● Programamos métodos (onCreate, onStart,onResume, onPause, onStop) que se ejecutancuando se da el evento adecuado Desarrollo con Android 14
  15. 15. Activando componentes●En Android, una aplicación puede activar unaactividad de otra aplicación. P. ej. una appquiere capturar una pantalla● Esto quiere decir que no hay un main:podemos activar cada pantallla● Como cada aplicación es un usuario/procesodiferente, no podemos lanzarlo directamente: ledebemos pedir al sistema Android que lo haga,enviando un mensaje llamado intención Desarrollo con Android 15
  16. 16. Intenciones (I)● Intención (Intent): describe un tipo deacción (seleccionar una foto, enviar uncorreo, …)● Las intenciones activan actividades,servicios y receptores de difusión Desarrollo con Android 16
  17. 17. Intenciones (II)● Intención explícita: indicamos eldestinatario●Intención implícita: indicamos el tipo dedestinatario (p.ej. un editor, un navegador) Desarrollo con Android 17
  18. 18. Patrón de Diseño● Es una solución a un problema concreto● Permite unificar la terminología● P.ej.– Problema: tener un objeto único de una clase– Solución: patrón Singleton Desarrollo con Android 18
  19. 19. Patrón Publish-Subscribe(Publicador/Subscriptor) Desarrollo con Android 19
  20. 20. Ejemplo Yamba Desarrollo con Android 20
  21. 21. Diagrama de Diseño Desarrollo con Android 21
  22. 22. Resumen● Hemos aprendido los principales componentesde una aplicación: actividades, servicios,proveedores de contenidos y receptores dedifusión● Las actividades y servicios tienen un ciclo devida● Lasintenciones permiten que el sistema activecomponentes● El contexto de aplicación permite que loscomponentes compartan datos y recursos Desarrollo con Android 22
  23. 23. ¿Preguntas? Desarrollo con Android 23

×