Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Índice
1. Introducción ......................................................................................................... 3
1.1 Situación actual ............................................................................................ 4
1.2 Open Handset Alliance ................................................................................. 6
2. Android .................................................................................................................. 7
2.1 Estructura de la arquitectura ...................................................................... 8
2.1.1 Linux Kernel ......................................................................................... 8
2.1.2 Libraries/ Android runtime ................................................................ 10
2.1.3 Aplication Framework ........................................................................ 11
2.1.4 Aplications........................................................................................... 13
3. Desarrollo de una aplicación Android .............................................................. 13
3.1 Instalación de las herramientas necesarias .............................................. 13
3.2 Creación y ejecución de un programa básico .......................................... 14
4. Conclusiones ........................................................................................................ 15
5. Bibliografía y referencias ................................................................................... 16
2
Miguel Gil Álvarez Android
1. Introducción
El 5 de noviembre del año 2007 se confirma el rumor de la posible entrada del gigante
Google en el mercado de la telefonía móvil, y lo hace de la mano de una alianza con
más de 30 importantes empresas relacionadas con el mundo de la electrónica y de la
telefonía móvil, entre ellas la española Telefónica. Solo una semana después de este
anuncio aparecen los primeros SDKs (Software Development Kits) para que cualquier
persona que lo desee pueda realizar sus programas.
Google tiene una estrategia muy bien definida: quiere dominar el mercado del
software, no del hardware. A sus múltiples aplicaciones gratuitas orientadas a Internet
se van sumando otras nuevas destinadas a hacer la competencia a los tradicionales
desarrolladores de aplicaciones informáticas y ahora entra con la misma formula al
mercado de los teléfonos y smartphones.
3
Miguel Gil Álvarez Android
Android nace como alternativa a los gigantes actuales del mercado, que son los
siguientes:
Microsoft se ha hecho de una gran cuota del mercado desde que arribó al segmento a
fines de los 90. Aquí es necesario hacer una aclaración. En realidad, Pocket PC es un
estándar, un conjunto de normas que Microsoft dicta para que los fabricantes puedan
utilizar el nombre en sus productos. Precisamente, para ser considerados estos deben
contar con:
4
Miguel Gil Álvarez Android
Palm: Palm OS
En 1996, Jeff Hawkins desarrolló la primera versión del sistema operativo Palm para un
nuevo producto de la empresa U.S. Robotics, llamado Pilot PDA. Tras ser adquirida por
3Com al año siguiente, la compañía cambió el nombre de su línea por PalmPilot debido
a una demanda presentada por la casa de lápices Pilot. Finalmente, los dispositivos
terminarían siendo bautizados como Palm, al igual que su fabricante.
Para la versión 4.0, Palm disponía su línea m500, dando acceso a tarjetas de
memoria, telefonía, funciones de seguridad y mejoras en su interfaz. Por último, la
versión 5.0 acompañaría a la línea Tungsten T, al tiempo que la empresa se dividía en
PalmOne (equipos) y PalmSource (software) para canalizar mejor sus ventas. Para
agosto de 2003, el sistema contaba con más de 19 mil aplicaciones disponibles, tanto
comerciales como gratuitas. El lanzamiento de la versión 6.0 del sistema, apodado
Cobalt, fue secundado por un patrón de desarrollo que auguraba la venida de una
versión 6.1 en 2004, llena de nuevas características, por lo que los potenciales
licenciatarios decidieron esperar. Y como quien tropieza dos veces, la salida de esa
versión también fue acompañada de un patrón que describía la próxima versión 7.0,
basada en Linux. Nuevamente los fabricantes decidieron dar un paso al costado.
Como resultado, hasta la fecha no existe un solo dispositivo que utilice Cobalt.
El golpe se hizo sentir: en 2004 el uso de Windows Mobile superó por primera vez el de
Palm OS. Es más, la consultora IDC pronostica que este año finalizará con un mercado
ocupado en un 49% por Microsoft, contra un 44% de Palm. La diferencia se ampliaría
para el 2009 a 56% y 38%, respectivamente.
5
Miguel Gil Álvarez Android
Nokia: Symbian
Aunque su nombre ha cobrado verdadera fuerza sólo en los últimos años, este sistema
operativo empezó a desarrollarse en 1989, cuando la empresa británica Psion comienza
a desarrollar EPOC, uno de los primeros sistemas operativos para PDA.
Bajo el nombre de Open Handset Alliance [2], Google ha reunido a más de 30 empresas
del sector, entre las que se encuentran fabricantes de terminales móviles, de
componentes, de software, y también a operadores de todo el mundo, entre los que se
encuentra Telefónica Móviles como representante español.
Como era de esperar los fabricantes Apple, Microsoft, Nokia y Palm no forman
parte de esta alianza, aunque no se descarta que puedan entrar en un futuro. ¿Qué quiere
decir esto? Pues que Google no pretende hacer un Gphone, sino dejar que las empresas
fabricantes pertenecientes a la alianza, entre las que encontramos a HTC, LG, Nvidia,
Texas instruments ó Samsung, fabriquen los terminales que incorporaren este nuevo
sistema operativo.
6
Miguel Gil Álvarez Android
2. Android
Y es que Android nace con una filosofía basada en el código abierto, ya que no
sólo utiliza Linux como base, sino que muchas de sus aplicaciones base, como el
navegador de Internet, están basadas en Open Source, con el anuncio de Google de un
concurso público de aplicaciones, se espera que el sistema operativo se alimente de las
contribuciones de programadores de todo el mundo. En lo que Google no parece querer
transigir es en el desarrollo de las aplicaciones para su sistema operativo, forzando una
homogeneización de sus máquinas virtuales Java que haga que cualquier aplicación
desarrollada para Android sea ejecutable en cualquier terminal que incorpore el sistema
operativo de Google.
Por lo que se ha podido ver en una versión preliminar del software de desarrollo
de aplicaciones para Android, el sistema operativo va orientado especialmente para los
Smartphones, con un peso claro del acceso a Internet en su uso cotidiano. No en vano
todas las aplicaciones de Google son únicamente accesibles online.
7
Miguel Gil Álvarez Android
La estructura de android esta formada por 4 niveles básicos (figura 2.1) los cuales se
describen a continuación:
Es la capa inferior de la plataforma y esta compuesta por un núcleo Linux (versión 2.6)
que se usa como capa de abstracción de hardware (HAL, Hardware Abstraction Layer)
y se encarga de gestionar los servicios básicos del sistema, tales como la gestión de
memoria, la gestión de procesos, Entrada/Salida, red, etc.
8
Miguel Gil Álvarez Android
9
Miguel Gil Álvarez Android
Libraries
OpenGL/ES, SGL. Librerías gráficas del sistema. Las librerías openGL son las
encargadas del soporte en 3D si el dispositivo soporta aceleración gráfica.
Media Framework. Son las bibliotecas para que el dispositivo soporte multimedia,
basadas en las librerías de PacketVideo. Soporte de reproducción y grabación de
múltiples formatos audio y video, así como archivos de imagen, (MPEG4, H.264, MP3,
AAC, AMR, JPG, PNG…).
SQLite. Potente y ligero motor de base de datos relacional a disposición de todas las
aplicaciones.
10
Miguel Gil Álvarez Android
Android runtime
El componente principal de esta parte es la máquina virtual Dalvik, que ha sido diseñada
específicamente para esta plataforma por Dan Bornstein con contribuciones de otros
ingenieros de Google. Está optimizada para requerir poca memoria y está diseñada para
permitir ejecutar varias instancias de la máquina virtual simultáneamente, delegando al
sistema operativo subyacente el soporte de isolación, gestión de memoria e hilos.
A menudo Dalvik es nombrada como una máquina virtual Java, pero esto no es
estrictamente correcta ya que el bytecode con el que opera no es Java bytecode. Sin
embargo, la herramienta dx incluida en el SDK permite transformar los archivos Class
de Java compilados por un compilador Java al formato de archivos Dex (formato de
bytecode de esta maquina virtual). El nombre de Dalvik fue elegido por Bornstein en
honor a Dalvík, un pueblo de Islandia donde vivieron antepasados suyos.
En esta capa también aparece una parte denominada Core Libraries que contiene
las clases más básicas para manejar el sistema, por ejemplo el manejo de la I/O.
Son las APIs para obtener las funciones básicas del móvil y con las cuales programar las
aplicaciones. Los desarrolladores tienen acceso completo a los mismos APIs del
framework usados por las aplicaciones base. La arquitectura está diseñada para
simplificar la reutilización de componentes; cualquier aplicación puede publicar sus
capacidades y cualquier otra aplicación puede luego hacer uso de esas capacidades
(sujeto a reglas de seguridad del framework). Éste mismo mecanismo permite que los
componentes sean reemplazados por el usuario.
Los desarrolladores tienen acceso completo a las APIs usadas para desarrollar
todo el sistema (android). Además también tenemos a nuestra disposición las librerías
de las aplicaciones de google (com.google…).
11
Miguel Gil Álvarez Android
12
Miguel Gil Álvarez Android
2.1.4 Aplications
Como no podía ser de otra manera, la última capa es la capa de aplicación donde se
ejecutan las aplicaciones que hemos programado usando la API de la capa anterior. En
esta capa encontramos las aplicaciones básicas para que el móvil funcione (control y
gestión de llamadas, guía, navegador, etc.), además de todas las aplicaciones que
instalemos en el Terminal.
En este apartado vamos a explicar los pasos básicos para desarrollar una pequeña
aplicación en Android, que ejecutaremos posteriormente en el simulador para
comprobar su correcto funcionamiento.
El proceso detallado de instalación tanto del SDK, como del plugin para eclipse
se encuentra en [4].
13
Miguel Gil Álvarez Android
Una vez que hemos instalado correctamente tanto el Eclipse con el plugin, como el
SDK, podemos empezar el proceso de desarrollo de un programa en android.
El primer paso es crear un nuevo proyecto android. Al hacer esto, el eclipse nos
genera automáticamente toda la estructura básica del programa, además de información
adicional del proyecto compatible solo con el entorno eclipse (datos de depuración,
logs, etc.).
14
Miguel Gil Álvarez Android
4. Conclusiones
Como hemos visto, esta plataforma tiene todos los ingredientes para convertirse en un
sistema muy popular en el futuro si se cumple todo lo que se promete.
Sin embargo, tendremos que esperar a ver cómo funciona la integración del
sistema operativo con un teléfono "real" para ver si su funcionamiento va a ser tan
fluido como prometen, y si Android se convierte en un rival real para Symbian, Palm
OS, o Windows Mobile.
15
Miguel Gil Álvarez Android
5. Bibliografía y referencias
16