Tema 4 1_introduccion_android

22
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 <[email protected]>

description

Introducción a Android

Transcript of Tema 4 1_introduccion_android

Análisis y Diseño de Software

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

Introducción a Android

Carlos A. Iglesias <[email protected]>

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 [Gar10, cap1-2 ]

● 4.2 Desarrollo con Android [Gar10, cap3-5]

● 4.3 Interfaces de Usuario [Gar10, cap6]

● 4.4 Intenciones [Gar10, cap7-8]

● 4.5 Acceso a Datos [Gar10, cap9]

Introducción a Android 4

Bibliografía (I)

● Libro de texto: – [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

Introducción a Android 5

Bibliografía (II)

● Libro de texto: – Professional Android 4 Application Development,

Reto Meier, Wrox, 3rd Edition, 2012. Disponible en http://proquest.safaribooksonline.com/book/-/9781118237229

– Capítulo 1

Introducción a Android 6

Objetivos

● Conocer qué es Android: – Su origen y evolución– Su arquitectura– Cómo se ejecuta

Introducción a Android 7

¿Qué es Android?

Introducción a Android 8

Android

● 2007 – Creación de la Open Handset Alliance, liderada por Google● 2009 – Primer terminal HTCG1

Introducción a Android 9

Versiones de Android

Introducción a Android 10

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 (Jelly Bean)

● ?? - Android 5.0 (Lime Pie)

Introducción a Android 11

Distribución de versiones

http://developer.android.com/about/dashboards/index.html

Introducción a Android 12

Aplicaciones de Android

Introducción a Android 13

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 14

Lecturas

● Wikipedia – Historia de Android:– http://es.wikipedia.org/wiki/Android

Introducción a Android 15

Arquitectura de Android

Introducción a Android 16

Arquitectura de Android● El sistema operativo Android tiene varias capas:– Kernel de Linux– Bibliotecas: bibliotecas en C/C++ (SSL, OpenGL, …)

• Máquina virtual Dalvik

– 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 17

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 18

Dalvik vs JVM

Dex = Dalvik Executable format

Introducción a Android 19

Arquitectura Software

“La arquitectura del Software define un sistema a partir de los componentes y las interacciones entre dichos componentes”

Shaw and Garlan, Software Architecture, Perspectives on an Emerging Discipline, Prentice-Hall, 1996

Introducción a Android 20

Arquitectura / Diseño

● Cuando nos enfrentamos con un problema, la primera decisión es qué componentes (paquetes, clases, …) resolverán el problema.

● Es complejo identificar el conjunto que permitirá añadir más funcionalidades en el futuro con poco esfuerzo.

Introducción a Android 21

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 22

¿Preguntas?