Tema 4.1 Introduccion Android
Upcoming SlideShare
Loading in...5
×
 

Tema 4.1 Introduccion Android

on

  • 1,084 views

 

Statistics

Views

Total Views
1,084
Views on SlideShare
1,083
Embed Views
1

Actions

Likes
1
Downloads
41
Comments
0

1 Embed 1

https://moodle.lab.dit.upm.es 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Tema 4.1 Introduccion Android Tema 4.1 Introduccion Android Presentation Transcript

  • 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>
  • 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
  • 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
  • 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
  • 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/
  • 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
  • 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
  • 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
  • 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 terminal HTCG1
  • 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) ●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)
  • 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 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
  • 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 – 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
  • 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
  • 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 (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)
  • 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
  • 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 bloquear al usuario
  • 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, ...
  • 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, ...
  • 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
  • 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
  • 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'
  • 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
  • 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)
  • 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
  • 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 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
  • 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
  • Introducción a Android 40 ¿Preguntas?