Electrónica Digital II
“Android Operating System”
Autores:
José Danilo Blanco Lezcano……… 2008-23174
Jent Augusto Chong……… 2008-23117
Tutor: Ing. Carlos Ortega
Abstract
Nowadays, free and open source software have become an important part our life. You can see better features in cell phones, computers even videogames which is product of the development of this kind of open software, making our life easier. Android is part of this explosion of technology, which is a mobile operating system that was initially developed by Android Inc., now purchased by Google. Android is based upon a modified version of Linux Kernel which is one of the most prominent examples of open source software. It has a large community of developers writing apps that extend the functionality of the devices. In this paper, we’re going to introduce some concepts that you may find interesting about
the beginnings of Android, all the versions of Android created until the date and some apps that are currently changing the way that people live (introducing part of the programming necessary to develop this apps)
2 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua ABSTRACTO
3 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua INTRODUCCION
Android es básicamente un sistema operativo creado para móviles el cual está basado en el Kernel Linux (uno de los mayores exponentes del software libre en estos tiempos), siendo parte del “Open Headset Alliance” que no es más que un consorcio creado por 78 compañías de
hardware, software y telecomunicaciones para la propagación del software libre en teléfonos celulares por lo que es posible conseguir la fuente o código de escritura de este sistema operativo aunque este está limitado a solamente la creación de aplicaciones móviles popularmente conocidas como “apps”. Cabe destacar que Google publico la mayoría del código fuente de
Android bajo la licencia de Apache que es una licencia de software libre y de código abierto creado por Apache Software Foundation (ASF). [1][2]
Android posee una larga comunidad de desarrolladores los cuales escriben una larga cantidad de “apps” que extienden la funcionalidad de los dispositivos móviles. Actualmente hay más de
100,000 apps disponibles para Android y este número sigue en aumento. Para la distribución de estas aplicaciones se hace uso de una página o ya sea aplicación telefónica la cual es llamada “Android Market”, siendo esta dirigida y supervisada por Google. A pesar de esto las
4 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua DESARROLLO DEL CONTENIDO
El sistema operativo Android consiste básicamente en aplicaciones Java corriendo en un marco de trabajo para aplicaciones orientadas a objetos, basadas en este mismo lenguaje. Este usa las librerías del núcleo mismo de Java corriendo en Dalvik Virtual Machine con compilación JIT. El sistema operativo Android consiste en 12 millones de líneas de código que incluyen 3 millones de líneas de XML, 2.8 millones de líneas de C, 2.1 millones de líneas de Java, y 1.75 millones de líneas de C + +. [6]
Orígenes de Android OS
En julio de 2005, Google adquirió Android Inc., una compañía pequeña con sede en Palo Alto, California. Dando como resultado que lo co-fundadores de Android fueron a trabajar para Google, estos incluían a Andy Rubin (co-fundador de Danger), Ricos Minero (co-fundador de Wildfire Communications Inc.), Nick Sears (una vez vicepresidente de T-Mobile) y Chris White (dirigido al diseño y desarrollo de interfaces en WebTV). En esa época, se sabía poco acerca de las funciones de Android Inc. Solamente que se encargaban del desarrollo de software para teléfonos móviles. Esto comenzó los rumores de que Google estaba planeando entrar en el mercado de la telefonía móvil.[7]
5 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua
ofrecer eso. Medios impresos y en línea pronto distribuyeron rumores de que Google estaba desarrollando un teléfono marca Google. [8].
El 5 de noviembre de 2007, la Open Handset Alliance, un consorcio de varias compañías que incluyen Texas Instruments, Broadcom Corporation, Google, HTC, Intel, LG, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel y T -Mobile se dio a conocer con el objetivo de desarrollar estándares abiertos para dispositivos móviles. Junto con la formación de la Open Handset Alliance, la OHA también dio a conocer su primer producto, Android, una plataforma móvil basada en la versión Linux Kernel 2.6 [1]
Versiones de Android hasta la fecha [10]
Cuatro son las principales versiones de Android hoy en día: 1.5, de nombre en clave Cupcake; 1.6 o Donut, 2.0/2.1, también conocida como Eclair y la 2.2 conocida como FroYo. Por supuesto también existieron versiones anteriores: la 1.0, con la que se lanzó el primer móvil Android del mercado, el HTC Dream, lanzada en octubre de 2008; y la 1.1, lanzada en febrero de 2009, que solucionaba varios errores y añadía alguna que otra funcionalidad no demasiado importante.
Android 1.5 (Cupcake)
Debido a las grandes mejoras introducidas en la tercera versión de Android, de abril de 2009, el número de versión saltó directamente a la 1.5. Basado en el kernel Linux 2.6.27, las novedades más interesantes eran las siguientes:
Rediseño completo de todos los elementos de la interfaz.
Interfaz de Android 1.1 (izquierda) y Android 1.5 (derecha), vía Android Developers. Transiciones animadas entre ventanas.
6 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua
Menor tiempo de búsqueda de los satélites GPS, gracias a la posibilidad de utilizar
A-GPS.
Mejoras en la velocidad del navegador web gracias a la inclusión de la última versión de
Webkit, el engine de renderizado, y SquirelFish. Intérprete Java Script.
Añadida la posibilidad de copiar y pegar texto y buscar texto dentro de una página web. Posibilidad de personalizar los widgets mostrados en la pantalla de inicio.
Inclusión de teclado en pantalla, con soporte para orientación vertical y apaisada,
funcionalidades de autocorrección y soporte de diccionarios del usuario. Añadida la posibilidad de grabar y reproducir vídeos.
Soporte de Bluetooth Estéreo.
Android 1.6 (Donut)
Lanzada en septiembre de 2009, está basada en el núcleo Linux 2.6.29. Se considera una actualización menor, pero aun así se las arreglan para introducir algunas novedades bastante interesantes:
Quick Search Box, una caja de búsqueda en la pantalla de inicio que permite buscar entre
distintas fuentes (los contactos, el historial del navegador, Google, etc.). Con autocompletado y capacidad de aprendizaje.
Mejorada la velocidad de la cámara.
Posibilidad de conectarse a redes VPN, 802.1x.
Nueva pantalla para controlar la batería, que permite comprobar qué aplicaciones y
servicios son los que más consumen. Desde esta pantalla se puede también parar o desinstalar estas aplicaciones
Las aplicaciones de Android Market aparecen ahora ordenadas por categorías
7 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua
actualizaciones y las aplicaciones más populares. Además para cada aplicación se muestra ahora capturas de pantalla y reviews de otros usuarios.
Nuevo motor de texto a voz.
Android 2.0 / 2.1 (Eclair)
En Android 2.0, de noviembre de 2009, se continuó con la tradición de utilizar dulces de repostería como nombres de versión. Las novedades son:
Rediseñó la interfaz del navegador, contando ahora con soporte para distintas
características de HTML5 (entre ellas la etiqueta vídeo), la posibilidad de hacer zoom con una doble pulsación y thumbnails de los marcadores
Soporte nativo de flash para la cámara (aparentemente los fabricantes de teléfonos que
contaban con flash previamente tuvieron que desarrollar sus propios drivers para superar esta limitación).
Zoom digital, modo scene, balance de blanco, efectos de color y modo macro. Mejoras en el teclado virtual.
Soporte para nuevos tamaños y resoluciones de pantalla. Contactos rápidos.
Bluetooth 2.1
Soporte nativo de Facebook.
Mejoras en Google Maps, que pasaba a ser multitáctil y soportar capas (como
Wikipedia).
Soporte de Microsoft Exchange. Mejoras en el calendario.
8 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua
Android 2.1, que llegó a los móviles Android en enero de 2010, también se considera una actualización menor. Entre otras cosas incluye:
Reconocimiento de voz. Ahora se puede dictar en lugar de escribir en cualquier campo de
texto).
Mejoras en el teclado virtual. Galería 3D, al estilo Cover Flow.
Uso del gesto de “pellizcar” para hacer zoom en el navegador, la galería y en Google
Maps.
Nuevas aplicaciones de reloj/tiempo y noticias.
Mejoras en Google Maps: sincronización de nuestros sitios favoritos, modo noche y auto
completado de búsquedas. Google Goggles.
Mejoras en la duración de la batería.
Android 2.2 (Froyo)
Disponible desde finales de Junio del 2010, se citan los siguientes cambios respecto a sus versiones predecesoras:
Actualizaciones automáticas para aplicaciones: Las aplicaciones recibirán actualizaciones
automáticas, consiguiendo tener siempre la última versión del software.
Soporte WiFi IEEE 802.11n
Soporte para Radio FM.
Soporte Flash 10.1 y Adobe AIR 2.5
Soporte de la API gráfica OpenGL Embedded Systems 2.0
Posibilidad de asignar un color de LED en el TrackBall para diferentes eventos del
9 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua
Creación de un compilador JIT que mejora entre 2 y 5 veces en Rendimiento frente a
Eclair.
Tethering por USB y hotspot WiFi
Incorporación del mismo motor de Java script V8 de Chrome.
Creación de un sistema de mensajería “en la nube” dotado de un API mediante el cual
puedes enviar un mensaje desde la web y hacerlo llegar a un teléfono vía Push.
Posibilidad de enviar posiciones desde Google Maps al teléfono, usando un plugin del
navegador Google Chrome.
Posibilidad de mover una aplicación instalada desde el teléfono a la tarjeta de memoria, y viceversa.
Opciones avanzadas de gestión energética
Android 2.3 (Gingerbread)
Lanzamiento del SDK previsto para algún momento de finales de 2010, móviles listos para el primero o segundo trimestre del 2011.
Se sabe muy poco respecto a las nuevas características de Gingerbread, entre las nuevas características confirmadas están:
Soporte para reproducción de WebM
Mejora en las funcionalidades de cortar, copiar y pegar. Mejorada la interconexión con las redes sociales.
Por otro lado tenemos una serie de posibles características no confirmadas:
Soporte de resoluciones de hasta 1.366×768, lo que invita a pensar en Tablets de
resolución HD Ready.
10 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua
Launchers de serie más bonitos alternativos a los conocidos HTC Sense, MotoBlur,
Pantheon, etc. No por ello, se impedirá implementación de launchers personalizadas voluntariamente.
Aceleración por GPU de interfaz. Soporte avanzado para Tablets.
Características de Android OS [9][11]
Framework de aplicaciones: permite reutilización y reemplazo de componentes. Máquina virtual Dalvik: optimizada para dispositivos móviles.
Navegador integrado: basado en el motor de código abierto WebKit.
Gráficos optimizados, con una biblioteca de gráficos 2D; gráficos 3D basado en la
especificación OpenGL ES 1.0 (aceleración por hardware opcional). SQLite para almacenamiento de datos estructurados.
Soporte para medios con formatos comunes de audio, vídeo e imágenes planas (MPEG4, H.264, MP3, OGG, AAC, AMR, JPG, PNG, GIF)
Telefonía GSM (dependiente del hardware)
Bluetooth, EDGE, 3G, y WiFi (dependiente del hardware)
Cámara, GPS, brújula, y acelerómetro (dependiente del hardware)
Ambiente rico de desarrollo incluyendo un emulador de dispositivo, herramientas para
depurar, perfiles de memoria y rendimiento, y un complemento para el IDE Eclipse. Android Market permite que los desarrolladores pongan sus aplicaciones, gratuitas o de
11 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua Desarrollo del Software
El SDK de Android es la principal herramienta que se utiliza para la creación y el desarrollo de “apps” esta incluye un conjunto completo de herramientas de desarrollo en las que podemos
mencionar un debugger, bibliotecas, un emulador de terminal (basado en QEMU), documentación, código de ejemplo y tutoriales. Actualmente las plataformas de desarrollo incluyen computadoras de arquitectura x86 con Linux (cualquier distribución de Linux de escritorio moderno), Mac OS X 10.4.9 o posterior, Windows XP o Vista. Los requisitos también incluyen Java Development Kit, Apache Ant, y Python 2.2 o posterior. El medio ambiente de desarrollo integrado (IDE por sus siglas en ingles) es oficialmente Eclipse (3.2 o posterior) con el Android Development Tools (ADT) Plugin, aunque los desarrolladores pueden utilizar cualquier editor de texto para modificar los archivos de Java y XML y luego utilizar herramientas de línea de comandos para crear, construir y depurar aplicaciones de Android, así como el control de los dispositivos conectados a Android (por ejemplo, provocando un reinicio, la instalación de paquete de software (s) de forma remota). [12]
Una versión preliminar del kit de desarrollo de Android de software (SDK) fue lanzado el 12 de noviembre de 2007. El 15 de julio de 2008, el equipo de Android Developer Challenge accidentalmente envió un correo electrónico a todos los participantes en el Android Developer Challenge, anunciando que una nueva versión del SDK estaría disponible en un área "privada" de descarga. El correo electrónico fue destinado para los ganadores de la primera ronda del Android Developer Challenge. La revelación de que Google era el suministro de nuevas versiones de SDK para algunos desarrolladores y para otros no (manteniendo este acuerdo en suma privacidad) llevo a la frustración de muchas personas pertenecientes a la comunidad de desarrolladores de Android.
12 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua
actualizado de la pantalla de inicio. Las instrucciones detalladas para actualizar están disponibles para aquellos que ya trabajan con una versión anterior. El 23 de septiembre de 2008, el Android 1.0 SDK (versión 1) fue liberado. Según las notas de lanzamiento, este incluía "principalmente correcciones de errores, aunque algunas pequeñas características se han añadido”. También incluye varios cambios en el API de la versión 0.9.
El 9 de marzo de 2009, Google lanzó la versión 1.1 para el teléfono Android Dev. Aunque hubo una actualización un tanto poco estética, las pocas actualizaciones cruciales incluían el apoyo a "la búsqueda por voz, aplicaciones de pago, arreglos a la alarma de reloj, arreglos al congelamiento cuando se enviaban correos de gmail, arreglos en las notificaciones de correo e intervalos de restauración, y ahora los mapas muestran comentarios de negocio". Otra actualización importante es que los teléfonos Dev pueden ahora acceder a aplicaciones de pago y los desarrolladores ahora pueden ver en el Android Market.
Android Market [13]
El 28 de agosto de 2008 Google anunció el Android Market, que estaba a disposición de los usuarios, el 22 de octubre de 2008. El cual es un soporte para aplicaciones de pago, aunque estuvo disponible a partir del 13 de febrero de 2009 para los desarrolladores del Reino Unido y de los Estados Unidos, con cobertura adicional para 29 países el 30 de septiembre de 2010. El Android Market es el lugar oficial de descarga de aplicaciones y juegos para los dispositivos Android, en el teléfono móvil la aplicación del mercado está construido e integrado con cada versión del sistema operativo para permitir un rápido acceso del usuario a una serie de aplicaciones y juegos que se podrán utilizar en sus dispositivos individuales. Hay una enorme cantidad de juegos, aplicaciones y widgets disponibles en Android Market con el número de solicitudes que se cita en noviembre de 2010 a las 160.000.
13 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua Todos los firmwares, oficiales o no, lo integran por lo que
no es necesario bajárselo de algún sitio solamente actualizarlo cuando él mismo detecta una nueva versión disponible.
La forma del Android Market se muestra en la fig. 1.1 presentada a continuación:
Fig. 1.1 Android Market abierto desde un teléfono Android mostrando algunas aplicaciones y su respectivo precio
Otras opciones a Android Market SlideME
Es la alternativa directa a Android Market que ya se comentó en su día. Permite la descarga de aplicaciones desde la web (en inglés). Puede ser seguido a través de Twitter además de contar con un blog propio. Sus características son las siguientes:
Códigos QR: sí.
Descargas de “apk”: sí. Nombres de los paquetes: no.
Dispone de un cliente propio para el móvil llamado SAM (“SlideME Application Manager”).
14 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua Fig. 1.2 Interfaz grafica del SlideMe
(popular motor de búsqueda de apps para Android)
AndAppStore
Aplicación completa que permite la descarga de aplicaciones desde su web (en inglés). Se le puede seguir a través de Twitter y de Friendfeed. Sus características son las siguientes:
Códigos QR: sí.
Descargas de “apk”: sí. Nombres de los paquetes: no.
Dispone de un cliente propio para el móvil llamado “The AndAppStore Client“.
15 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua aTrackDog
Web (en inglés) atípica. Se trata de una recopilación de aplicaciones clasificadas que nos indica cuál es la última versión de cada una de ellas. Sus características son las siguientes:
Códigos QR: no.
Descargas de “apk”: no.
Nombres de los paquetes: no.
Su potencial no reside en la web evidentemente sino en el cliente (del mismo nombre) para móvil que nos informa con enorme simplicidad de las aplicaciones que tenemos instaladas y desactualizadas. La actualización a la última versión disponible se realiza con un simple “tap” en pantalla.
Fig. 1.4 Interfaz grafica del aTrackDog
Google también ha participado en el Android Market, ofreciendo diversas aplicaciones para sus servicios. Estas aplicaciones incluyen Google Voice para el servicio de voz de Google, Sky Map para la observación de estrellas, Finance para su servicio de finanzas, Editor de Mapas para su servicio Mis mapas, lugares de Directorio para búsqueda local, Google Goggles que busca por la imagen, , Google Translate, Google Shopper, escuchar podcasts y My Tracks, una aplicación para hacer footing.
16 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua
Además de todo esto, con el creciente número de teléfonos Android, también ha habido un interés creciente por parte de desarrolladores a aportar sus aplicaciones al sistema operativo Android. Aplicaciones más notables que se han convertido en el sistema operativo Android incluye Shazam, Doodle Jump, y WeatherBug.
El sistema operativo Android ha crecido de manera significativa, y muchos de los sitios de Internet más populares y los servicios han creado aplicaciones nativas. Estos incluyen MySpace, Facebook y Twitter.
Algunas restricciones de Android OS
Problemas de Red [14]
Soporte para la creación de una configuración de proxy de red para conexiones Wi-Fi no
están disponibles.
Soporte para la creación de una configuración de proxy de red para APN (es decir, GSM
/ EDGE), las conexiones no están disponibles.
Android no admite de forma nativa EAP configuraciónes de extensiones.
Android no es compatible con Cisco de red privada virtual y de servidores que requieren
extensiones XAUTH para IPSec (L2TP/IPSec y PPTP son compatibles).
Problemas en cuanto al desarrollo de aplicaciones [15]
Android no utiliza las normas establecidas en Java, es decir, Java SE y ME. Esto evita
17 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua
Desarrolladores han informado que es difícil mantener las aplicaciones en múltiples
versiones de Android, debido a problemas de compatibilidad entre las versiones 1.5 y 1.6, especialmente las relaciones de resolución diferente en uso entre varios teléfonos Android. Estos problemas se presentaron puntualmente en el foco, ya que se encontraron durante el concurso ADC (Android Development Challenge).
El rápido crecimiento en el número de modelos de teléfonos basados en Android con
diferentes capacidades de hardware también hace que sea difícil de desarrollar aplicaciones que funcionan en todos los teléfonos basados en Android. En agosto de 2010, 64% de los teléfonos Android ejecutaban las versiones 2.x, y el 36% todavía corrían las versiones 1.5 y 1.6
Otros problemas
A partir de la versión 2.2, Android no tiene soporte completo de Unicode. Los
desarrolladores están reportando problemas de representación, en conjunción con el apoyo de las consonantes, etc. [16]
Android soporta todos los sistemas de archivos soportados por el núcleo Linux, con sus
18 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua CONCLUSIONES Y RECOMENDACIONES
Al finalizar con este trabajo de investigación documental, hemos respondido muchas de nuestras interrogantes en cuanto al sistema operativo Android; lo cual nos ha hecho llegar a las siguientes conclusiones:
El sistema operativo Android tiene un gran potencial, el cual está siendo desarrollado cada día para llegar a ser utilizado exitosamente en computadoras y laptops y así ser una opción diferente e incluso mejor al Windows OS que es actualmente el más popular para PC’s
El cuanto a los teléfonos celulares este sistema operativo nos ha ofrecido infinitas posibilidades en cuanto a aplicaciones; con las que podemos cambiar completamente la forma en la que vivimos , ya que hay miles de aplicaciones destinadas a ámbitos laborales, empresariales y financieros las cuales hoy en día forman parte importante de muchas empresas.
La seguridad de este sistema es bastante confiable ya que está basado en el Linux Kernel que es un sistema operativo de código abierto muy eficiente en cuanto a funcionamiento y manejo de servidores
19 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua REFERENCIAS
[1] “Open Handset Alliance”. Home Page. www.openhandsetalliance.com/index.html
[2] “Open Handset Alliance”. Overview. http://www.openhandsetalliance.com/android_overview.html
[3] “Extrapolating the Apple-Android Showdown: Who's Right?” http://www.pcmag.com/article2/0,2817,2366624,00.asp
[4] “Aplicaciones Android” http://androidapps.es/2009/11/05/aplicaciones-android/ [5] “Google's Android parts ways with Java industry group”
http://news.cnet.com/8301-13580_3-9815495-39.html
[6] “How many lines of code does it take to create Android OS?”
http://www.gubatron.com/blog/2010/05/23/how-many-lines-of-code-does-it-take-to-create-the-android-os/
[7] “Google buys Android”.
http://www.businessweek.com/technology/content/aug2005/tc20050817_0949_tc024.htm
[8] “Google it’s working on a mobile OS, and it’s due out shortly”. Engadget.com. http://www.engadget.com/2007/08/28/google-is-working-on-a-mobile-os-and-its-due-out-shortly/
[9] “Android Inc.”. Android Developers Website.
http://developer.android.com/guide/basics/what-is-android.html [10] “Android OS”. Wikipedia.Org (Spanish). Versiones de Android. http://es.wikipedia.org/wiki/Android#Versiones
[11] “Android Supported Media Formats” Android Developers Website. http://developer.android.com/guide/appendix/media-formats.html
[12] “Tools Overview” Android Developers Website.
20 Elaborado por: José Danilo Blanco
Jent Augusto Chong | UNI-FEC Managua, Nicaragua
[13] “Android Apps” Androidapps.es Website. http://androidapps.es/2009/11/05/aplicaciones-android/ [14] “Android Networking Issues”
http://code.google.com/p/android/issues/detail?id=1386&colspec=ID%20Type%20Status%20O wner%20Summary%20Stars
[15] “Google Android: Initial Impressions and Criticism” By Jilles van Gurp http://www.javalobby.org/nl/archive/jlnews_20071113o.html
[16] "Issue 4230: Armenian character support" Google.com. http://code.google.com/p/android/issues/detail?id=4230.”
[17] “Tuxera Launches Tuxera File System Suite, First to Combine NTFS, exFAT and HFS+ for Android” HELSINKI, FINLAND--(Marketwire - Oct. 28, 2010)