Page 16
__rendered_path__11
Proyecto Fin de Carrera
Desarrollo de aplicaciones para dispositivos móviles sobre la plataforma Android de Google
Desarrollar una aplicación completa para Android. Una vez conocidas las
__rendered_path__12
características de este sistema, así como el entorno de desarrollo que ofrece y sus
posibilidades, debe crearse una aplicación que aproveche algunas de sus
características más fundamentales. A través de este desarrollo y una detallada
documentación del mismo, el lector debe poder comprender mejor el
funcionamiento de aplicaciones para Android, así como conocer los pasos para
crear sus propias aplicaciones.
1.3 Contenido de la memoria
A continuación se explica brevemente el contenido de cada capítulo y anexo incluido en
__rendered_path__11
esta memoria.
En el capítulo 1, Introducción, se expone la motivación del presente proyecto, los
objetivos que persigue, así como una visión general de los contenidos de la memoria.
El capítulo 2, Estado del Arte, ofrece una descripción general de algunos de los aspectos
técnicos relacionados con este proyecto, como los dispositivos móviles, los sistemas
operativos más extendidos para estos, el lenguaje Java ME o un breve repaso de la
trayectoria de Google.
En el capítulo 3, titulado La Plataforma Android, se explica al lector las características
básicas del nuevo sistema operativo Android, su diseño, arquitectura y funcionamiento,
así como una guía de instalación para el entorno de desarrollo Eclipse, finalizando con
la implementación de un sencillo ejemplo “Hola Mundo”.
El capítulo 4, de nombre ContactMap: Localizador de Contactos, desribe de forma
detallada el completo desarrollo de una aplicación para Android: desde su diseño y
funcionalidad, hasta la implementación de cada una de sus clases y componentes
básicos, haciendo énfasis en la utilización de los aspectos más novedosos ofrecidos por
Android.
El capítulo 5, Historia del Proyecto, ofrece al lector una breve explicación de los
pormenores en la vida del proyecto, la evolución de su desarrollo en el tiempo y un
presupuesto justificado.
El capítulo 6, Conclusiones y Trabajos Futuros, se exponen los resultados obtenidos
tras la finalización del proyecto, comparándolos con los objetivos marcados
inicialmente, y trazando posibles líneas futuras de desarrollo.
Por último, se han incluido una serie de anexos donde se puede encontrar el ANEXO A:
Manual de Instalación de ContactMap, una descripción del CD adjunto a esta memoria
en ANEXO B: Contenido del CD, así como la recopilación de la bibliografía y los
conceptos utilizados a lo largo del proyecto en ANEXO C: Referencias y ANEXO D:
Términos, respectivamente.
Jaime Aranaz Tudela
16
Ingeniería en Informática

Page 17
__rendered_path__11
Proyecto Fin de Carrera
Desarrollo de aplicaciones para dispositivos móviles sobre la plataforma Android de Google
2 ESTADO DEL ARTE
2.1 Dispositivos móviles
No existe un consenso claro a la hora de definir qué es realmente un dispositivo móvil y
qué no lo es. Es frecuente que hoy en día este término se utilice para designar
únicamente a ciertos modelos de teléfonos móviles con mayores o menores
prestaciones. A pesar de ello, un dispositivo móvil no tiene por qué ceñirse solamente
al ámbito telefónico.
__rendered_path__11
Buscando ser más rigurosos, se podría denominar dispositivo móvil a todo aparato
electrónico que cumple unas características muy básicas:
es de reducido tamaño, haciéndolo fácil de transportar.
__rendered_path__30
cuenta con una cierta capacidad de computación y almacenamiento de datos.
__rendered_path__30
incorpora elementos de E/S básicos (por lo general, pantalla y/o algún tipo de
__rendered_path__30
teclado).
Más allá de estas características comunes, los dispositivos móviles forman en la
actualidad un grupo sumamente heterogéneo y pueden incorporar casi cualquier
componente de hardware y software que amplía y diversifica su función inicial. El más
frecuente sin duda es la conexión telefónica (incluyendo servicios como el envío de
SMS, MMS, y acceso WAP) o la conexión a Internet.
Igualmente son habituales la cámara fotográfica y de vídeo, pantalla táctil, teclado
QWERTY, receptor de radio, Bluetooth, conexión mediante infrarrojos, dispositivos de
memoria extraíbles, localizador GPS, acelerómetro, etc. Desde el punto de vista del
software, pueden incorporar también un amplio abanico de aplicaciones tales como
programas ofimáticos, reproductores de audio y vídeo, organizadores, videojuegos,
navegadores web o clientes de correo, entre otros.
2.1.1 Clasificación de los dispositivos móviles
Al igual que ocurre a la hora de definir qué es un dispositivo móvil, la clasificación que
se pueda hacer de estos aparatos está sujeta a diferentes valoraciones y a veces no existe
un acuerdo amplio para ubicar un dispositivo móvil en una determinada familia.
En la década de los 90, tras la aparición de estos primeros dispositivos, establecer
clasificaciones más o menos rigurosas era posible debido a que cada aparato estaba
claramente definido para una función determinada o para un público concreto. El
aumento de las prestaciones y funcionalidades que en la actualidad puede ofrecer
cualquier dispositivo móvil dificulta el poder agruparlo dentro de un conjunto
determinado. Por ejemplo, un smartphone representa una evolución de un teléfono
móvil tradicional, esto es, su cometido es ofrecer comunicación telefónica; sin embargo,
Jaime Aranaz Tudela
17
Ingeniería en Informática

Page 18
__rendered_path__11
Proyecto Fin de Carrera
Desarrollo de aplicaciones para dispositivos móviles sobre la plataforma Android de Google
cuenta con otros servicios adicionales como la conexión a Internet y aplicaciones,
servicios propios de un ordenador, cámara de fotos y de vídeo o la posibilidad de
reproducir películas o videojuegos.
La clasificación que a aquí se propone utilizar como principal criterio la funcionalidad o
servicio principal para la que ha sido diseñado bien el propio dispositivo móvil, o bien
aquel dispositivo del que directamente procede y del que supone una evolución
mejorada. Tal y como se deduce de todo lo anteriormente explicado, la pertenencia a
una categoría concreta no implica en absoluto que el dispositivo no pueda ofrecer otras
muchas características propias de otras categorías.
Dicho la anterior, los dispositivos móviles pueden ser clasificados en los siguientes
__rendered_path__11
grupos:
Dispositivo de comunicación
__rendered_path__34
Un dispositivo de comunicación es aquel dispositivo móvil cuyo cometido
principal es ofrecer una infraestructura de comunicación, principalmente
telefónica. Estos dispositivos ofrecen además servicios como el envío de
mensajes SMS y MMS, o acceso WAP. En esta categoría se incluiría el
tradicional teléfono móvil, precursor indiscutible dentro de los dispositivos
móviles, la BlackBerry y el smartphone, que amplía considerablemente las
prestaciones del primero mediante pantalla táctil, conexión a Internet o la
ejecución de aplicaciones (por ejemplo, iPhone o HTC G1).
Dispositivo de computación
__rendered_path__34
Los dispositivos de computación son aquellos dispositivos móviles que ofrecen
mayores capacidades de procesamiento de datos y cuentan con una pantalla y
teclado más cercanos a un ordenador de sobremesa. Dentro de este grupo
encontramos a las PDA, muy populares a finales de los años 90 y que permitían
al usuario disponer de un organizador mucho más completo que los ofrecidos
por los teléfonos móviles del momento, e incluso en ocasiones la visualización
de documentos o acceso a Internet. Por otro lado, dispositivo de computación
también es un ordenador portátil o laptop, que dentro de los dispositivos móviles
son sin duda los que mayores prestaciones hardware ofrecen (igualando o
superando a los de sobremesa) pero también los que tienen, con diferencia, un
mayor tamaño, peso y precio. Las calculadoras gráficas pueden ser igualmente
incluidas en este grupo de dispositivos de computación.
Reproductor multimedia
__rendered_path__34
Un reproductor multimedia es aquel dispositivo móvil que ha sido
específicamente diseñado para proporcionar al usuario la reproducción de uno o
varios formatos de datos digitales, ya sea audio, vídeo o imágenes. Dentro de
estos dispositivos encontramos reproductores de MP3, los DVD portátiles, los
eBooks, y en los últimos años los reproductores multimedia de la popular familia
Jaime Aranaz Tudela
18
Ingeniería en Informática

Page 19
__rendered_path__11
Proyecto Fin de Carrera
Desarrollo de aplicaciones para dispositivos móviles sobre la plataforma Android de Google
iPod de Apple, que ofrecen tanto audio y como vídeo. Estos dispositivos son con
frecuencia los de más reducido tamaño y, junto a los teléfonos móviles y
smartphones, los más extendidos.
Grabador multimedia
__rendered_path__19
Dentro de los dispositivos móviles, un grabador multimedia es aquel dispositivo
que posibilita la grabación de datos en un determinado formato digital,
principalmente de audio y vídeo. En esta categoría se hallan las cámaras
fotográficas digitales o las cámaras de vídeo digital.
Consola portátil
__rendered_path__11__rendered_path__19
Una consola portátil es un dispositivo móvil cuya única función es la de
proporcionar al usuario una plataforma de juego. Las consolas portátiles fueron,
junto a los teléfonos, los primeros dispositivos móviles en convertirse en un
producto de masas. Hoy en día representan un importantísimo volumen de
ventas dada su gran aceptación en la sociedad y son objeto de auténticas guerras
comerciales entre las principales compañías del sector. Algunos ejemplos de esta
categoría son la Nintendo DS de Nintendo, o la PSP de Sony.
En la siguiente figura, Figura 1, se ofrece una amplia muestra de los distintos
dispositivos móviles que pueden ser encontrados hoy día en el mercado.
Jaime Aranaz Tudela
19
Ingeniería en Informática

Page 20
__rendered_path__11
Proyecto Fin de Carrera
Desarrollo de aplicaciones para dispositivos móviles sobre la plataforma Android de Google
__rendered_path__11Image_119_0
Figura 1. Ejemplos de dispositivos móviles.
a) teléfono móvil Nokia 3210; b) BlackBerry 8300; c) smartphone HTC G1; d) PDA Acer N35; e)
ordenador portátil MacBook Air; f) ebook Sony Reader; g) reproductor iPod Nano; h) cámara de
fotografía digital Nikkon Coolpix S210; i) consola portátil PSP; j) consola portátil Nintendo DS
2.1.2 Smartphone
Dentro de los dispositivos móviles, un smartphone (cuya traducción en español sería
“teléfono inteligente”) es una evolución del teléfono móvil tradicional que cuenta con
ciertas características y prestaciones que lo acercan más a un ordenador personal que a
un teléfono tradicional.
Entre dichas características, se puede encontrar una mejora en la capacidad de proceso y
almacenamiento de datos, conexión a Internet mediante Wi-Fi, pantalla táctil,
acelerómetro, posicionador geográfico, teclado QWERTY y diversas aplicaciones de
usuario como navegador web, cliente de correo, aplicaciones ofimáticas, reproductores
de vídeo y audio, etc. incluyendo la posibilidad de descargar e instalar otras nuevas.
A pesar de estas importantes mejoras con respecto a sus predecesores móviles, el
reducido tamaño de los smartphones conlleva inexorablemente limitaciones de
hardware que los mantienen claramente diferenciados de los ordenadores
convencionales. Estas limitaciones se reflejan principalmente en pantallas más
pequeñas, menor capacidad del procesador, restricciones de memoria RAM y memoria
Jaime Aranaz Tudela
20
Ingeniería en Informática

Page 21
__rendered_path__11
Proyecto Fin de Carrera
Desarrollo de aplicaciones para dispositivos móviles sobre la plataforma Android de Google
persistente, y necesidad de adaptar el consumo de energía a la capacidad de una
pequeña batería.
Estas limitaciones obligan a tener muy presente la capacidad real del dispositivo a la
hora de desarrollar su software, ya sean aplicaciones de usuario o el propio sistema
operativo.
2.2 Sistemas operativos para dispositivos móviles
El sistema operativo destinado a correr en un dispositivo móvil necesita ser fiable y
tener una gran estabilidad, ya que incidencias habituales y toleradas en ordenadores
__rendered_path__11
personales como reinicios o caídas no tienen cabida en un dispositivo de estas
características. Además, ha de adaptarse adecuadamente a las consabidas limitaciones
de memoria y procesamiento de datos, proporcionando una ejecución exacta y
excepcionalmente rápida al usuario.
Estos sistemas han de estar perfectamente testeados y libres de errores antes de
incorporarse definitivamente a la línea de producción. Las posibilidades que existen en
un ordenador estándar de realizar actualizaciones e incluso reinstalar mejores versiones
del sistema para cubrir fallos o deficiencias son más limitadas en un dispositivo móvil.
Es posible incluso que un aparato de esta naturaleza deba estar funcionando
ininterrumpidamente durante semanas e incluso meses antes de ser apagado y
reiniciado, a diferencia de lo que ocurre con un ordenador personal. El consumo de
energía es otro tema muy delicado: es importante que el sistema operativo haga un uso
lo más racional y provechoso posible de la batería, ya que esta es limitada y el usuario
siempre exige una mayor autonomía.
Todos estos aspectos de los dispositivos móviles, entre otros muchos, han de ser tenidos
en cuenta a la hora de desarrollar un sistema operativo competente en el mercado,
atractivo para los fabricantes y que permita al usuario sacar máximo provecho de su
terminal [4].
En la actualidad, existen varios sistemas operativos para toda la gama de dispositivos
móviles. Dentro de los smartphones, Symbian se lleva la mayor cuota de mercado con
un 65%, seguido de Windows Mobile con un 12% [5].
Jaime Aranaz Tudela
21
Ingeniería en Informática

Page 22
__rendered_path__11
Proyecto Fin de Carrera
Desarrollo de aplicaciones para dispositivos móviles sobre la plataforma Android de Google
Linux 5%
Apple 7%
RIM 11%
__rendered_path__17__rendered_path__19__rendered_path__21
Windows Mobile
12%
Symbian 65%
__rendered_path__11__rendered_path__15
__rendered_path__13
Figura 2. Cuota de mercado de distintos SSOO para smartphones (2007)
__rendered_path__12
2.2.1 Symbian
Symbian es un sistema operativo para dispositivos móviles desarrollado por Psion,
Nokia, Motorola y Ericsson. El principal objetivo de estas compañías era el de crear un
nuevo y compartido sistema operativo que estuviera perfectamente adaptado a los
teléfonos móviles del momento, y fuese además capaz de competir con Palm OS y
Windows Mobile. La primera versión de Symbian, basada en el sistema EPOC de
Psion, se lanzó en 1998. Actualmente, el número de empresas vinculadas al proyecto ha
crecido considerablemente, siendo la última versión lanzada la 9.3 en julio de 2006.
El acuerdo bajo el cual se desarrolló Symbian es bastante simple: Symbian Ltd.
desarrolla el sistema operativo Symbian, que incluye el microkernel, los controladores,
el middleware y una considerable pila de protocolos de comunicación e interfaces de
usuario muy básicas. Los desarrolladores que obtienen la licencia correspondiente para
trabajar con Symbian implementan sus propias interfaces de usuario y conjuntos de
aplicaciones según las necesidades de sus propios dispositivos. Esto permitió a Symbian
posicionarse como un sistema operativo muy flexible, que tenía en cuenta los requisitos
de la mayoría de los dispositivos fabricados y, al mismo tiempo, permitía un alto grado
de diferenciación [6].
Jaime Aranaz Tudela
22
__rendered_path__14__rendered_path__16__rendered_path__18__rendered_path__20__rendered_path__22
Ingeniería en Informática

Page 23
__rendered_path__11
Proyecto Fin de Carrera
Desarrollo de aplicaciones para dispositivos móviles sobre la plataforma Android de Google
Image_138_0
Figura 3. Entidades vinculadas a Symbian
__rendered_path__11
En Symbian, una mínima porción del sistema tiene privilegios de kernel; el resto se
ejecuta con privilegios de usuario en modo de servidores, de forma que los procesos en
ejecución y sus prioridades son manejadas por este microkernel. Cada una de las
aplicaciones corre en su propio proceso y tiene acceso únicamente a una exclusiva zona
de memoria.
Symbian contempla cinco tipos de ediciones o series del sistema operativo según las
características del dispositivo móvil [7]. La principal diferencia entre ediciones no
radica tanto en el núcleo del sistema operativo como en la interfaz gráfica utilizada:
Serie60. El más popular de todos, debido fundamentalmente a que el gigante
__rendered_path__36
Nokia, uno de los fabricantes más importantes del mundo, ha hecho de Symbian
y de su versión Serie60 el núcleo de casi todos sus modelos de smartphones. Los
dispositivos con Serie60 tiene una pantalla pequeña y un teclado del tipo 0-9#.
También lo utilizan fabricantes como Siemens, Samsung y Panasonic.
Serie80. Esta edición, también usada por Nokia, está más orientada a
__rendered_path__36
dispositivos que tienen pantalla táctil y permiten multitarea, pudiendo tener
varias aplicaciones abiertas simultáneamente.
Serie90. Muy similar a la edición Serie80, sólo que éstos dispositivos tienen una
__rendered_path__36
pantalla más grande y llevan incorporados sensores táctiles más desarrollados.
Utilizan teclados virtuales, reconocimiento de trazos o teclados acoplables
mediante, por ejemplo, Bluetooth.
UIQ. La interfaz de esta edición de Symbian se encuentra muy influenciada por
__rendered_path__36
Palm OS. Implementan una especie de multitarea virtual, dando al usuario la
falsa sensación de poder realizar varias acciones simultáneas; suelen tener un
alto coste computacional e influyen negativamente en el tiempo de respuesta
apreciado por el usuario. Es utilizado en algunos modelos de Sony Ericcson y
Motorola.
Jaime Aranaz Tudela
23
Ingeniería en Informática