Tema 4 1_introduccion_android
-
Upload
carlos-iglesias -
Category
Documents
-
view
2.054 -
download
0
description
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 8
Android
● 2007 – Creación de la Open Handset Alliance, liderada por Google● 2009 – Primer terminal HTCG1
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 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 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 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