Análisis y Diseño
de Software
Departamento de Ingeniería de Sistemas Telemáticos
http://moodle.dit.upm.es
Introducción a
A...
Introducción a Android 2
Teoría
Ejercicio práctico en el ordenador
Ampliación de conocimientos
Lectura / Vídeo / Podcast
P...
Introducción a Android 3
Temario
● 4.1 Introducción a Android
● 4.2 Introducción Desarrollo con Android
● 4.3 Ejemplo Desa...
Introducción a Android 4
Bibliografía (I)
● Libro:
– [Gar10] Learning Android, Marko Gargenta,
O'Reilly, 2010. Disponible ...
Introducción a Android 5
Bibliografía complementaria
● Hello Android, E. Burnette, The Pragmatic
Bookshelf, 3rd Edition, 2...
Introducción a Android 6Actividades 3
Temario
● 4.1 Introducción a Android
● 4.2 Introducción Desarrollo con Android
● 4.3...
Introducción a Android 7
Bibliografía (II)
● Libro de texto:
– Professional Android 4 Application Development,
Reto Meier,...
Introducción a Android 8
Objetivos
● Conocer qué es Android:
– Su origen y evolución
– Su arquitectura
– Cómo se ejecuta
●...
Introducción a Android 9
¿Qué es Android?
Introducción a Android 10
Android
● 2007 – Creación de la Open Handset
Alliance, liderada por Google
● 2009 – Primer termi...
Introducción a Android 11
Versiones de Android
Introducción a Android 12
Versiones de Android
●9/2008 – Android 1.0
●2/2009 – Android 1.1
●4/2009 – Android 1.5 (Cupcake)...
Introducción a Android 13
Versiones Android
Introducción a Android 14
Distribución de versiones
http://developer.android.com/about/dashboards/index.html
Introducción a Android 15
Aplicaciones de Android
Introducción a Android 16
Android
● Es una plataforma software de código
abierto para dispositivos móviles
● Tiene en cuen...
Introducción a Android 17
Lecturas
● Wikipedia – Historia de Android:
– http://es.wikipedia.org/wiki/Android
Introducción a Android 18
Arquitectura de Android
Introducción a Android 19
Arquitectura de Android
Introducción a Android 20
Arquitectura de Android
● El sistema operativo Android tiene varias capas:
– Kernel de Linux
– B...
Introducción a Android 21
Máquina virtual Dalvik
● Máquina virtual de los dispositivos Android
● Optimizada para usar poca...
Introducción a Android 22
Dalvik vs JVM
Dex = Dalvik Executable format
Introducción a Android 25
Bloques de una aplicación
● Actividad (Activity): cada pantalla de la
aplicación
● Servicio (Ser...
Introducción a Android 26
Actividad
● Una actividad representa una pantalla
● La pantalla inicial de la aplicación es la
'...
Introducción a Android 27
Ciclo de vida de una
Actividad
Introducción a Android 28
Ciclo de vida de un servicio
● Ej.
– poner música de fondo
– Recuperar información
remota sin bl...
Introducción a Android 29
Proveedor de contenidos
● Proporciona una API
CRUD
● Mecanismo común
para aplicaciones y
para el...
Introducción a Android 30
Receptores de difusión
● Sigue patrón
publish/subscribe
● El subscriptor tiene
un método que se
...
Introducción a Android 31
Contexto de Aplicación
● Todos los componentes de una
aplicación se ejecutan en un contexto de
a...
Introducción a Android 32
¿Quién controla?
● En programación tradicional, sabemos qué
se ejecuta a continuación
● En progr...
Introducción a Android 33
Activando componentes
●En Android, una aplicación puede activar una
actividad de otra aplicación...
Introducción a Android 34
Intenciones (I)
● Intención (Intent): describe un tipo de
acción (seleccionar una foto, enviar u...
Introducción a Android 35
Intenciones (II)
● Intención explícita: indicamos el
destinatario
●Intención implícita: indicamo...
Introducción a Android 36
Patrón de Diseño
● Es una solución a un problema concreto
● Permite unificar la terminología
● P...
Introducción a Android 37
Patrón Publish-Subscribe
(Publicador/Subscriptor)
Introducción a Android 38
Resumen
● Android es una plataforma para
desarrollar aplicaciones móviles
● Android tiene difere...
Introducción a Android 39
Resumen
● Hemos aprendido los principales componentes
de una aplicación: actividades, servicios,...
Introducción a Android 40
¿Preguntas?
Upcoming SlideShare
Loading in...5
×

Tema 4.1 Introduccion Android

911

Published on

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

No Downloads
Views
Total Views
911
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
50
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?
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×