Tema 4.1 Introduccion Android

1,325 views
1,073 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,325
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
56
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Tema 4.1 Introduccion Android

  1. 1. Análisis y Diseño de Software Departamento de Ingeniería de Sistemas Telemáticos http://moodle.dit.upm.es Introducción a Android Carlos A. Iglesias <cif@gsi.dit.upm.es>
  2. 2. Introducción a Android 2 Teoría Ejercicio práctico en el ordenador Ampliación de conocimientos Lectura / Vídeo / Podcast Práctica libre / Experimentación Leyenda
  3. 3. Introducción a Android 3 Temario ● 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
  4. 4. Introducción a Android 4 Bibliografía (I) ● Libro: – [Gar10] Learning Android, Marko Gargenta, O'Reilly, 2010. Disponible en http://ofps.oreilly.com/titles/9781449390501/ – Capítulos 1-2 ● Android Developers – http://developer.android.com/guide/basics/what-is-andr oid.html – http://developer.android.com/guide/topics/fundamentals .html
  5. 5. Introducción a Android 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/
  6. 6. Introducción a Android 6Actividades 3 Temario ● 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
  7. 7. Introducción a Android 7 Bibliografía (II) ● Libro de texto: – Professional Android 4 Application Development, Reto Meier, Wrox, 3rd Edition, 2012. Disponible en http://proquest.safaribooksonline.com/book/-/9781118 237229 – Capítulo 1
  8. 8. Introducción a Android 8 Objetivos ● Conocer qué es Android: – Su origen y evolución – Su arquitectura – Cómo se ejecuta ● Aprender cuáles son los bloques de una aplicación en Android ● Comprender los ciclos de vida de actividades y servicios
  9. 9. Introducción a Android 9 ¿Qué es Android?
  10. 10. Introducción a Android 10 Android ● 2007 – Creación de la Open Handset Alliance, liderada por Google ● 2009 – Primer terminal HTCG1
  11. 11. Introducción a Android 11 Versiones de Android
  12. 12. Introducción a Android 12 Versiones de Android ●9/2008 – Android 1.0 ●2/2009 – Android 1.1 ●4/2009 – Android 1.5 (Cupcake) ●9/2009 – Android 1.6 (Donut) ●10/2009 – Android 2.0/2.1 (Eclair) ●5/2010 – Android 2.2 (Froyo) ●12/2010 – Android 2.3 (Gingerbread) ●2/2011 – Android 3.0/3.1/3.2 (Honeycomb) ●10/2011 – Android 4.0 (IceSandwich) ●06/2012 – Android 4.1/4.2/4.3 (Jelly Bean) ●10/2013/ - Android 4.4 (KitKat)
  13. 13. Introducción a Android 13 Versiones Android
  14. 14. Introducción a Android 14 Distribución de versiones http://developer.android.com/about/dashboards/index.html
  15. 15. Introducción a Android 15 Aplicaciones de Android
  16. 16. Introducción a Android 16 Android ● Es una plataforma software de código abierto para dispositivos móviles ● Tiene en cuenta restricciones actuales que no van a cambiar en el corto plazo como – (i) baterías que duran poco – (ii) limitación en CPU/memoria de móviles ● Está diseñado para ser portable a múltiples dispositivos
  17. 17. Introducción a Android 17 Lecturas ● Wikipedia – Historia de Android: – http://es.wikipedia.org/wiki/Android
  18. 18. Introducción a Android 18 Arquitectura de Android
  19. 19. Introducción a Android 19 Arquitectura de Android
  20. 20. Introducción a Android 20 Arquitectura de Android ● El sistema operativo Android tiene varias capas: – Kernel de Linux – Bibliotecas: bibliotecas en C/C++ (SSL, OpenGL, …) • Máquina virtual Dalvik • Nueva máquina virtual ART en pruebas – Framework de Aplicación: modelo de programación en Java para aplicaciones Android – Aplicaciones: programadas por usuarios en Java • Distribuidas en ficheros APK (Application Package) que contienen el código Dalvik ejecutable, recursos (imágenes, …), y bibliotecas opcionales (en C/C++) • Debemos firmarlas para distribuirlas en un mercado
  21. 21. Introducción a Android 21 Máquina virtual Dalvik ● Máquina virtual de los dispositivos Android ● Optimizada para usar poca memoria y permitir la ejecución simultánea de varias máquinas virtuales ● Delega en el SO la gestión de memoria y hebras ● No es una JVM ● Cada aplicación de Android se ejecuta en un proceso, que es una instancia de la Dalvik VM ● Cada aplicación de Android tiene asignado un usuario de Linux, que tiene derechos sobre los ficheros de la aplicación
  22. 22. Introducción a Android 22 Dalvik vs JVM Dex = Dalvik Executable format
  23. 23. Introducción a Android 25 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)
  24. 24. Introducción a Android 26 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
  25. 25. Introducción a Android 27 Ciclo de vida de una Actividad
  26. 26. Introducción a Android 28 Ciclo de vida de un servicio ● Ej. – poner música de fondo – Recuperar información remota sin bloquear al usuario
  27. 27. Introducción a Android 29 Proveedor de contenidos ● Proporciona una API CRUD ● Mecanismo común para aplicaciones y para el sistema (settings, contactos, etc.) ● Recupera datos de base de datos, web, sistema de ficheros, ...
  28. 28. Introducción a Android 30 Receptores de difusión ● Sigue patrón publish/subscribe ● El subscriptor tiene un método que se ejecuta cuando recibe el evento ● Ej. Evento de Wifi disponible, batería baja, imagen capturada, ...
  29. 29. Introducción a Android 31 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
  30. 30. Introducción a Android 32 ¿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
  31. 31. Introducción a Android 33 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'
  32. 32. Introducción a Android 34 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
  33. 33. Introducción a Android 35 Intenciones (II) ● Intención explícita: indicamos el destinatario ●Intención implícita: indicamos el tipo de destinatario (p.ej. un editor, un navegador)
  34. 34. Introducción a Android 36 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
  35. 35. Introducción a Android 37 Patrón Publish-Subscribe (Publicador/Subscriptor)
  36. 36. Introducción a Android 38 Resumen ● Android es una plataforma para desarrollar aplicaciones móviles ● Android tiene diferentes versiones que añaden funcionalidades ● Tiene varias capas: Linux, bibliotecas, framework de aplicación y aplicaciones ● Las aplicaciones se desarrollan en Java, y se compilan para la Dalvik VM
  37. 37. Introducción a Android 39 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
  38. 38. Introducción a Android 40 ¿Preguntas?

×