Tema 4.2.2 Desarrollo con Android. El Framework de Android.

23
Análisis y Diseño de Software Departamento de Ingeniería de Sistemas Telemáticos http://moodle.dit.upm.es Desarrollo con Android Framework Android Carlos A. Iglesias <[email protected]>

description

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

Transcript of Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Page 1: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Análisis y Diseño de Software

Departamento de Ingeniería de Sistemas Telemáticoshttp://moodle.dit.upm.es

Desarrollo con AndroidFramework Android

Carlos A. Iglesias <[email protected]>

Page 2: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 2

Teoría

Ejercicio práctico en el ordenador

Ampliación de conocimientos

Lectura / Vídeo / Podcast

Práctica libre / Experimentación

Leyenda

Page 3: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 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]

Page 4: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Introducción a Android 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

Page 5: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 5

Bibliografía complementaria

● Hello Android, E. Burnette, The Pragmatic Bookshelf, 3rd Edition, 2008. Capítulo 2.

●http://www.maestrosdelweb.com/editorial/curso-android-construir-lector-de-feeds/

Page 6: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 6

Objetivos

● Aprender cuáles son los bloques de una aplicación en Android● Comprender los ciclos de vida de actividades y servicios

Page 7: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 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)

Page 8: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 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

Page 9: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 9

Ciclo de vida de una Actividad

Page 10: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 10

Ciclo de vida de un servicio

Page 11: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 11

Proveedor de contenidos

● Proporciona una API CRUD

● Mecanismo común para aplicaciones y para el sistema (settings, contactos, etc.)

Page 12: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 12

Receptores de difusión

● Sigue patrón publish/subscribe

● El subscriptor tiene un método que se ejecuta cuando recibe el evento

Page 13: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 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

Page 14: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 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

Page 15: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 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'

Page 16: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 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

Page 17: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 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)

Page 18: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 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

Page 19: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 19

Patrón Publish-Subscribe (Publicador/Subscriptor)

Page 20: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 20

Ejemplo Yamba

Page 21: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 21

Diagrama de Diseño

Page 22: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 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

● Las intenciones permiten que el sistema active componentes

● El contexto de aplicación permite que los componentes compartan datos y recursos

Page 23: Tema 4.2.2 Desarrollo con Android. El Framework de Android.

Desarrollo con Android 23

¿Preguntas?