Está en la página 1de 8

Parte I

Desarrollo de Aplicaciones para Dispositivos Mviles Android o

http://ants.dif.um.es/felixgm/docencia/android

15

Tema 1

Introduccin a Android. o Conceptos bsicos a


1.1. Breve descripcin histrica de Android o o

All por el mes de julio de 2005, Google adquiri una pequea empresa Californiana a o n llamada Android Inc al Ingeniero de Software Andy Rubin con la intencin de desarrollar o un sistema operativo mvil que pudiera responder a las expectativas que el mundo de los o dispositivos mviles comenzaban a despertar. Bajo los rumores de que Google pudiera llegar o incluso a regalar los terminales f sicos aprovechando los consecuentes ingresos que obtendr a a travs de la publicidad de su buscador, Android se hizo famoso desde el primer momento. e De esta forma comenzaron los trabajos para que, en noviembre de 2007 se anunciara ocialmente la creacin de la Open Handset Alliance, (una alianza mercantil formada por o mltiples empresas que desarrollan estndares abiertos para dispositivos mviles, entre ellas u a o Android) que vendr acompaada del lanzamiento ocial del Android Software Devela n opment Kit. Esta primera versin supuso un punto de partida y de igual forma una forma o de evaluar la aceptacin de la idea del mercado, por lo que hasta mediados de agosto de 2008 o no apareci la segunda versin conocida como Android 0.9 SDK. Tras las comprobaciones o o oportunas, a nales del mes de septiembre lanzaron ocialmente la versin Android 1.0 SDK o (Release 1).

Figura 1.1: Algunos dispositivos mviles que soportan Android o

http://ants.dif.um.es/felixgm/docencia/android

17

Parte I. Desarrollo de Aplicaciones para Dispositivos Mviles Android o

Seis meses despus, en marzo de 2009, Google presentaba la versin 1.1 de Android y e o lanzaba al mercado Android Market, para poder adquirir aplicaciones basadas en Android. As y en vista de los buenos resultados, Google no par de trabajar, y las nuevas ver, o siones continuaron apareciendo rpidamente, pues en abril de 2009, Google lanz la versin a o o 1.5 de Android (llamada coloquialmente Cupcake) con su respectivo SDK que inclu nuevas a caracter sticas como grabacin de video, soporte para stereo Bluetooth, sistema de teclao do personalizable en pantalla, reconocimiento de voz y el AppWidget que permiti que los o desarrolladores pudieran crear sus propios widgets para la pantalla principal. Todas estas nuevas caracter sticas unidas al hecho de que los dispositivos T-Mobile G1 y HTC Dream contaran con l, hizo que Android 1.5 fuese la versin que ms personas usaron para iniciarse e o a en Android. La siguiente versin en aparecer fue Android 1.6 Donut en septiembre de 2009 con nuevas o mejoras (aumento de la capacidad de las bsquedas, indicadores adicionales, etc) que hicieron u que muchos usuarios optaran por migrar sus dispositivos de Android 1.5 a 1.6. La versin 2.0 Eclair lleg de la mano del terminal f o o sico Motorola Milestone que ya pose a caracter sticas mucho ms avanzadas y tra por defecto un pequeo nmero de aplicaciones a a n u instaladas. En enero de 2010, Google volv nuevamente a sorprender con el lanzamiento de su primer a terminal f sico, el Google Nexus One al que le aadi una nueva versin de su sistema Android, n o o en este caso la 2.1 con nuevas capacidades 3D que representaron el punto de inexin entre o las versiones 1.x y 2.x. En mayo de 2010 se lanz la versin 2.2 de Android (Froyo), que inclu soporte entre o o a otros para WiFi IEEE 802.11n, Radio FM, Adobe Flash 10.1, etc. Y en diciembre de ese mismo ao apareci la versin 2.3 (Gingerbread ), que incluye soporte nativo para telefon n o o a VoIP SIP, o comunicaciones NFC, entre otras caracter sticas reseables. n

Figura 1.2: Evolucin de Android hasta la versin 2.2 o o A d de hoy Android cuenta con ms de 200.000 aplicaciones disponibles en el mercado a a (y creciendo) y su aceptacin est siendo tan alta que comienza a ser considerado como la o a alternativa al sistema de Apple.

1.2.

Qu es Android? e

Andy Rubin, que hoy por hoy ostenta el cargo de Vicepresidente de Ingenier de Google, a dene Android como: The rst truly open and comprehensive platform for mobile devices, all of the software to run a mobile phone but without the proprietary obstacles that have hindered mobile innovation. http://ants.dif.um.es/felixgm/docencia/android 18

1.3 Caracter sticas del SDK de Android

Que traducido viene a decir: La primera plataforma verdaderamente abierta y global para dispositivos mviles, o con todo el software para hacer funcionar un telfono mvil pero sin los obstculos e o a de los propietarios que han entorpecido la innovacin en el mundo de los disposo itivos mviles. o De una forma ms cercana al mundo informtico, Android es un software de cdigo a a o abierto open source que incluye un sistema operativo, un middleware o capa intermedia, las principales aplicaciones mviles necesarias para cualquier dispositivo mvil y un conjunto o o de librer que permiten escribir nuevas aplicaciones que se podrn instalar en dispositivos as a mviles que tengan Android instalado. o Adems, Android se ha diseado de forma que tanto las aplicaciones nativas del software a n como las aplicaciones desarrolladas por terceras personas estn escritas bajo las mismas APIs e y funcionen bajo el mismo entorno de ejecucin. Esto permite que el dispositivo mvil se o o convierta en un gran puzzle, en donde se puede sustituir cualquier pieza del mismo por otra que pueda parecernos mejor. Por ultimo, hoy por hoy Android ofrece en su pgina web ocial (www.android.com), una a documentacin excelente, una muy amplia comunidad de desarrolladores y no por ello menos o importante, coste cero en desarrollo y distribucin. o

1.3.

Caracter sticas del SDK de Android

Las caracter sticas que ofrece el Software Development Kit de Android son las que se pueden ver a continuacin: o Coste cero de licencia, distribucin y desarrollo o Acceso hardware a WiFi Redes GSM, EDGE, y 3G para telefon y transferencia de datos a API para servicios basados en localizacin GPS o Control total del hardware multimedia, incluyendo reproduccin y grabacin mediante o o cmara y micrfono a o API para los sensores hardware incluyendo el acelermetro y el comps o a Librer para el uso de Bluetooth en transferencias de datos P2P as Paso de mensajes IPC Almacenes de datos compartidos Aplicaciones y procesos en segundo plano Fondos de escritorio, carpetas y utilidades de escritorio Navegador web Open Source HTML 5 Soporte completo para aplicaciones que integran control de mapas como parte de su interfaz Soporte a travs de librer 2D y 3D OpenGL de grcos e as a Librer para multimedia audio/v as deo o formato de imgenes a http://ants.dif.um.es/felixgm/docencia/android 19

Parte I. Desarrollo de Aplicaciones para Dispositivos Mviles Android o

1.4.

Arquitectura de Android

La gura 1.3 presenta la arquitectura de Android, as como los niveles que la componen.

Figura 1.3: Arquitectura de Android A continuacin describiremos brevemente cada uno de los niveles de la arquitectura de o Android, a saber: Applications, Application Framework, Libraries, Android Runtime y Linux Kernel. Nivel Applications Android cuenta con una serie de aplicaciones de base que incluyen el cliente de correo electrnico, el programa para los mensajes SMS, el calendario, mapas, navegador, lista de o contactos, etc. Nivel Application Framework Mediante este nivel, los desarrolladores tienen acceso a los dispositivos hardware del terminal, pueden ejecutar servicios en segundo plano, activar alarmas, y todo lo necesario para implementar aplicaciones de gran potencia. Para ello, se les da un acceso total al mismo API que se utiliza para el desarrollo de las aplicaciones bsicas del nivel Applications. De esta a forma se favorece, tal y como ve amos anteriormente, la reutilizacin de los componentes, y o se posibilita el hecho de poder cambiar componentes a gusto del usuario. Nivel Libraries Android incluye un conjunto de librer optimizadas escritas en C/C++ que son utias lizadas por diversos componentes del sistema. Las capacidades de estas librer no estn as a disponibles de forma directa y son accesibles a los desarrolladores a travs de las APIs del e nivel superior. Dicho en otras palabras, no se puede coger una librer escrita en C y usarla a directamente; si se quiere utilizar, se debe hacer uso de ella, a travs de la API de nivel e superior. http://ants.dif.um.es/felixgm/docencia/android 20

1.4 Arquitectura de Android

Las librer de las que hablamos son las que se pueden ver a continuacin: as o Librer System C. System C es una implementacin derivada de la librer estndar C a o a a (conocida como libc) adaptada a dispositivos embebidos basados en Linux. Librer multimedia. Soportan la reproduccin y grabacin de audio y v as o o deo de los formatos ms habituales como puedan ser MPEG4, H.264, MP3, JPG, etc. a LibWebCore. Se trata de un motor de navegacin web moderno que potencia al navego ador Android y al navegador embebido para web. Surface Manager. Controla el acceso al subsistema de pantalla y al de componentes 2D y 3D para mltiples aplicaciones. u SQLite. Base de datos relacional, ligera y potente. Librer 3D. Una implementacin basada en OpenGL 1.0 que incluye aceleracin 3D as o o por hardware. FreeType. Renderizado de vectores y mapas de bits. Cabe destacar que si se desea desarrollar aplicaciones en donde el rendimiento y la eciencia sean prioritarios en su mxima expresin, Android proporciona un entorno de desarrollo a o conocido como NDK que permite la creacin de librer C++ utilizando las librer libc o as as y libm, junto con un acceso a bajo nivel a OpenGL. No obstante, no es el objetivo de este curso tratar este nivel. Nivel Android Runtime Android incluye un conjunto de librer bsicas que proporcionan la mayor parte de la as a funcionalidad disponible en las librer de Java. as Adems, Android dispone de una mquina virtual similar a la que dispone el lenguaje a a Java, que ha sido rediseada de forma que cuando un proceso es lanzado a ejecucin disponga n o de su propia instancia de mquina virtual. a As un dispositivo mvil puede tener en un momento dado mltiples instancias de , o u mquinas virtuales ejecutndose en paralelo, gestionndolas todas de forma eciente y equilia a a brada en trminos de consumo de memoria. Dicha mquina virtual se conoce bajo el nombre e a de Dalvik. Nivel Linux Kernel Android descansa sobre el ncleo 2.6 de Linux en trminos de servicios y seguridad, gestin u e o de memoria y procesos, conexiones de red y montaje de drivers. De igual forma, el ncleo u tambin acta como nivel de abstraccin entre el hardware y el resto de software. e u o

http://ants.dif.um.es/felixgm/docencia/android

21

Parte I. Desarrollo de Aplicaciones para Dispositivos Mviles Android o

http://ants.dif.um.es/felixgm/docencia/android

22

También podría gustarte