Este documento presenta el temario para el curso "Desarrollo con Android". Cubre la introducción a Android, el desarrollo con el framework Android, interfaces de usuario, intenciones y servicios, y acceso a datos. Explica los principales componentes de una aplicación Android como actividades, servicios, proveedores de contenido y receptores de difusión, así como sus ciclos de vida y el uso de intenciones. También introduce conceptos como el contexto de aplicación y patrones de diseño como publicador-suscriptor.
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
Tema 4.2.2 Desarrollo con Android. El Framework de Android.
1. Análisis y Diseño
de Software
Desarrollo con Android
Framework Android
Carlos A. Iglesias <cif@gsi.dit.upm.es>
Departamento de Ingeniería de Sistemas Telemáticos
http://moodle.dit.upm.es
2. Leyenda
Teoría
Ejercicio práctico en el ordenador
Ampliación de conocimientos
Lectura / Vídeo / Podcast
Práctica libre / Experimentación
Desarrollo con Android 2
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. Bibliografía
● Libro de texto:
– [Gar10] Learning Android, Marko Gargenta,
O'Reilly, 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. Bibliografía complementaria
●Hello Android, E. Burnette, The Pragmatic
Bookshelf, 3rd Edition, 2008. Capítulo 2.
●http://www.maestrosdelweb.com/editorial/c
urso-android-construir-lector-de-feeds/
Desarrollo con Android 5
6. Objetivos
● Aprender cuáles son los bloques de una
aplicación en Android
● Comprender los ciclos de vida de
actividades y servicios
Desarrollo con Android 6
7. Bloques de una aplicación
● Actividad (Activity): cada pantalla de la aplicación
● Servicio (Service): una tarea que se ejecuta de fondo sin
interacció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. Actividad
●Una actividad representa una pantalla
● La pantalla inicial de la aplicación es la
'main' activity.
●Activity Manager: es el responsable del
ciclo de vida de la actividad (crear, parar,
…)
● Mantiene una pila de actividades
recientes
Desarrollo con Android 8
9. Ciclo de vida de una
Actividad
Desarrollo con Android 9
10. Ciclo de vida de un servicio
Desarrollo con Android 10
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. 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. Contexto de Aplicación
● Todos los componentes de una
aplicación se ejecutan en un contexto de
aplicación
● El contexto de aplicación es el 'espacio
compartido' que les permite compartir datos
y recursos
● El CA se crea cuando se lanza el primer
componente de una aplicación
Desarrollo con Android 13
14. ¿Quién controla?
● En programación tradicional, sabemos qué se
ejecuta a continuación
● En programación orientada a eventos, el
programador NO CONTROLA en qué estado
está el programa, es gestionado por el sistema
● Programamos métodos (onCreate, onStart,
onResume, onPause, onStop) que se ejecutan
cuando se da el evento adecuado
Desarrollo con Android 14
15. Activando componentes
●En Android, una aplicación puede activar una
actividad de otra aplicación. P. ej. una app
quiere capturar una pantalla
● Esto
quiere decir que 'no hay un main':
podemos activar cada 'pantallla'
● Como cada aplicación es un usuario/proceso
diferente, no podemos lanzarlo directamente: le
debemos pedir al sistema Android que lo haga,
enviando un mensaje llamado 'intención'
Desarrollo con Android 15
16. Intenciones (I)
● Intención (Intent): describe un tipo de
acción (seleccionar una foto, enviar un
correo, …)
● Las intenciones activan actividades,
servicios y receptores de difusión
Desarrollo con Android 16
17. Intenciones (II)
● Intención explícita: indicamos el
destinatario
●Intención implícita: indicamos el tipo de
destinatario (p.ej. un editor, un navegador)
Desarrollo con Android 17
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
22. Resumen
● Hemos aprendido los principales componentes
de una aplicación: actividades, servicios,
proveedores de contenidos y receptores de
difusión
● Las actividades y servicios tienen un ciclo de
vida
● Lasintenciones permiten que el sistema active
componentes
● El
contexto de aplicación permite que los
componentes compartan datos y recursos
Desarrollo con Android 22