Vous êtes sur la page 1sur 10

ANDROIDE

Android es un sistema operativo para dispositivos mviles como telfonos inteligentes y tabletas. Es desarrollado por la Open Handset Alliance, la cual es liderada por Google. Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en 2005.7 Es el principal producto de la Open Handset Alliance, un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio.8 Las unidades vendidas de telfonos inteligentes con Android se ubican en el primer puesto en los Estados Unidos, en el segundo y tercer trimestres de 2010,9 10 11 con una cuota de mercado de 43,6% en el tercer trimestre.12 Tiene una gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los dispositivos. A la fecha, se han sobrepasado las 250.000 aplicaciones disponibles para la tienda de aplicaciones oficial de Android: Android Market, sin tener en cuenta aplicaciones de otras tiendas no oficiales para Android, como pueden ser la App Store de Amazon o la tienda de aplicaciones Samsung Apps de Samsung.13 14 Android Market es la tienda de aplicaciones en lnea administrada por Google, aunque existe la posibilidad de obtener software externamente. Los programas estn escritos en el lenguaje de programacin Java.15 No obstante, no es un sistema operativo libre de malware, aunque la mayora de ello es descargado de sitios de terceros.16 El anuncio del sistema Android se realiz el 5 de noviembre de 2007 junto con la creacin de la Open Handset Alliance, un consorcio de 78 compaas de hardware, software y telecomunicaciones dedicadas al desarrollo de estndares abiertos para dispositivos mviles.17 18 Google liber la mayora del cdigo de Android bajo la licencia Apache, una licencia libre y de cdigo abierto.19 Actualmente Android posee aproximadamente el 32,9% de cuota de mercado a escala mundial de los telfonos inteligentes, por delante de Symbian OS que posee una cuota aproximada del 30,6%. En tercer lugar se sita iOS con una cuota de mercado del 16%. La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el ncleo de las bibliotecas de Java en una mquina virtual Dalvik con compilacin en tiempo de ejecucin. Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz grfica (surface manager), un framework OpenCore, una base de datos relacional SQLite, una API grfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor grfico SGL, SSL y una biblioteca estndar de C Bionic. El sistema operativo est compuesto por 12 millones de lneas de cdigo, incluyendo 3 millones de lneas de XML, 2,8 millones de lneas de lenguaje C, 2,1 millones de lneas de Java y 1,75 millones de lneas de C++.

CARACTERSTICAS DEL ANDROID

y y

y y y

y y

Refinamientos de la Interfaz de Usuario: La nueva interfaz ha sido rediseada para ser ms fcil, ms rpida y ms eficiente en el consumo de energa. El fondo ha sido cambiado a negro en reas como la barra de notificaciones y los mens. Tambin se han implementado cambios en los mens y en la configuracin para facilitar la navegacin. Teclado nuevo: El teclado ha sido actualizado para hacerlo ms fcil de utilizar. Las teclas han sido rediseadas y ahora se lanzan sugerencias basndose en las letras que se escriben. Seleccin de palabras mejorado: Ahora se puede seleccionar una palabra de forma similar al iPhone, mediante un gesto de pulsar y mantener pulsado. Copy/Paste mejorado: El gesto de pulsar y mantener tambin inicia el proceso de copiar y pegar. Despus de seleccionar el contenido se vuelve a presionar la seleccin para copiarlo. Gestin de energa mejorada: Android ahora es ms activo en la gestin de las aplicaciones que mantienen despierto el telfono, incluso llegando a apagar aplicaciones que no estn siendo utilizadas. En la configuracin de aplicaciones se puede ver cuanta batera utilizan las diferentes aplicaciones. Control de aplicaciones: En la pantalla de inicio hay un acceso directo para la gestin de aplicaciones donde se despliega una lista de las que estn activas y la memoria que estn utilizando. Llamadas VoIP: Es necesario tener una cuenta SIP y esta funcin estar disponible dependiendo del fabricante de dispositivos y de la compaa de telecomunicaciones que suministre la seal. NFC (Comunicaciones de Campo Cercano): la compatibilidad con NFC est incluida en el sistema operativo, aunque su uso depender del hardware del dispositivo. Gestin de descargas: ahora se puede acceder y gestionar las descargas desde el navegador, desde el correo electrnico o desde algunas aplicaciones. Un nuevo gestor de aplicaciones ha sido desarrollado. Cmara: la aplicacin de la cmara ahora permite el acceso a las diferentes cmaras del dispositivo. -Botones virtuales: sirven para atrs, inicio y aplicaciones recientes lo cual lo hace mas accesible, ubicados en la parte inferior de la pantalla. - Reconocimiento de cara para desbloqueo. Esta versin de android tiene la capacidad de reconocer tu cara para poder desbloquear el sistema operativo en s, aparte de eso tambin tiene los mtodos tradicionales como lo son contraseas. - Carpetas en la pantalla principal. Para un mejor orden todos tus acceso directo hacia las aplicaciones pueden ser organizadas en carpetas, esto puede ser opcional pero s las personas desean tenerlo de modo tradicional tambin lo pueden hacer. - Entrada de voz. Tienen la capacidad de que nosotros estemos dictando y el dispositivo escribiendo todo lo que nosotros le dice digamos. - Navegador mejorado. El navegador ha sido mejorado para obtener un mejor rendimiento logrando un mejor acceso a los sitios. VENTAJAS PARA UN ANDROID

y Dada la posibilidad de que Android pueda instalarse prcticamente en todo tipo de dispositivos, sean mviles, porttiles e incluso microondas, hace que Android siempre est presente en los terminales ms potentes del mercado siendo una apuesta importante por fabricantes y operadoras por la posibilidad de que independientemente del potencial, gama o prestaciones del dispositivo, Android podr adaptarse a la perfeccin a todo tipo de necesidades. Por otra parte, otro tipo de sistemas operativos se ven obligados a estar rezagados a terminales ms obsoletos o estar limitados a una determinada marca de fabricante.

y Cdigo abierto
y

El hecho de que Android est liberado con licencia Apache y cdigo abierto lo convierte en un sistema operativo totalmente libre para que un desarrollador no solo pueda modificar su cdigo sino tambin mejorarlo. A travs de esas mejoras puede publicar el nuevo cdigo y con el ayudar a mejorar el sistema operativo para futuras versiones sin depender de fabricantes u operadoras para ver si se libera o no dicha mejora. Del mismo modo, al ser cdigo abierto garantiza que, en caso de haber un bug o error, sea detectado y reparado con mayor presteza al no existir ninguna traba legal para indagar en su interior ni depender de nadie para pedir autorizacin a su cambio.

y Libertad
y

Android da completa libertad al propietario de un terminal a instalar lo que le venga en gana, sea desde Android Market como un ejecutable aparte (apk) no limitando la libertad del usuario ni imponiendo software propietario para poder instalar msica, archivos, documentos directamente desde el cable USB como si de un disco externo se tratara. La misma libertad tienen los desarrolladores o empresas pudiendo realizar aplicaciones o complementos como Flash, Opera o cualquier otro software sin tener que pedir permiso a nadie para ofrecerlo a los usuarios que libremente podrn instalarlo.

y Sin fronteras
y

El desarrollo de Android no est apadrinado por determinadas operadoras, fabricantes o proveedores. Android es libertad en todos los aspectos permitiendo que todos puedan disfrutar de el siendo la operadora que sea. Android no se reservar nunca el derecho a escoger una determinada operadora para imponer al usuario el hecho de contratarla para poder disfrutar de l as como sistema operativo que es, permite indagar en su cdigo a travs del SDK o desde el propio terminal as como modificar su Firmware de manera extraoficial (aunque

est permitido y no sea ilegal, en ocasiones conlleva a la perdida de la garanta del telfono) y Comunidad
y

Android no solo cuenta con la comunidad ms grande mundial de desarrolladores sino tambin el mayor movimiento de estos con multitud de eventos, concursos, competiciones y reuniones as como mltiples vas de comunicacin como foros y chats oficiales para fomentar la participacin y la colaboracin para encontrar mejoras e ideas para futuras versiones. Por otro lado, las modificaciones o mejoras no dependern de un limitado equipo de desarrolladores de una empresa sino contarn con el apoyo, respaldo y participacin de todos los desarrolladores del mundo.

y Coste y gustos
y

Precisamente por el hecho de que Android puede ser instalado en telfonos de cualquier fabricante o incluso en otros dispositivos, esto permite poder disfrutar de una amplia gama de terminales de diferentes precios y gamas para determinados poderes adquisitivos sin tener que forzar o limitar un sistema operativo o terminal a determinadas clases dando la opcin de que toda persona pueda adquirir el terminal que ms le guste as como de diferentes caractersticas o costes o incluso fabricantes.

y Batera
y

Todos los terminales de Android deben tener siempre una batera extrable dando la opcin al usuario a poder sustituirla o llevar recargables en caso de que su batera se agote. De este modo se evita que el usuario tenga problemas en cuanto a su autonoma permitiendo que, aunque la batera haya acabado con su vida til o considere que su batera es excesivamente pequea pueda adquirir otra ms potente o de reserva.

y Personalizable
y

Al ser abierto y libre, Android es completamente personalizable tanto por usuarios instalando fondos de pantalla, animaciones, widgets, skins o temas como para fabricantes con la posibilidad de crear sus propias capas como MotoBlu o HTC Sense permitiendo a unos y a otros poder customizar o personalizar sus telfonos de la mejor manera posible y dando a elegir al usuario la interfaz ms adecuada para su gusto evitando imponer un determinado estilo o interfaz.

y Multitarea

Por suerte, ni hombres ni mujeres estn limitados a hacer una cosa a la vez sino que somos capaces de hacer mltiples cosas siendo algo indispensable y casi impensable pensar de otra manera. Android con su sistema de multitarea inteligente es capaz de gestionar varias aplicaciones abiertas a la vez dejando en suspensin aquellas que no se utilicen y cerrarlas en caso de resultar ya intiles para evitar un consumo de memoria. Del mismo modo que en nuestra vida cotidiana nos vemos obligados a hacer varias cosas a la vez, no podemos permitirnos el lujo de que nuestro compaero de fatigas no tenga esta funcin tan bsica.

y No solo mviles
y

La libertad del cdigo de Android ha hecho que en poco tiempo se implante en multitud de dispositivos electrnicos, desde mviles hasta ordenadores porttiles, notebooks, microondas, lavadoras, marcos digitales, navegadores GPS, relojes e incluso en navegadores de abordo de coches. Esto convierte a Android en un sistema operativo multifuncin y completamente escalable que garantizar su crecimiento y expansin as como ayudar a fabricantes a tener un motor inteligente para sus fabricaciones.

ESTRUCTURA DEL ANDROID Esta vez de vamos a echar un vistazo a la estructura de una aplicacin Android, ya que es importante saber que es cada elemento antes de ponerse a programar.

Para empezar, necesitaremos tener configurado Eclipse tal y como explicaba en mi anterior post de Introduccin a Android, una vez que tengamos Eclipse y la SDK de Android configurados, es el momento de crear un proyecto Android. En Eclipse: File->New..-> Android Project En caso que no encontremos esa opcin en la lista de proyectos, debemos de irnos a Other y seleccionar Android a partir de ah, tal y como se muestra en la figura.

A continuacin nos aparecer una pantalla, en la que tenemos que introducir informacin sobre nuestro proyecto tales como el nombre del proyecto, el paquete que alojar las clases principales, el nombre de la clase principal (Activity name) y el nombre de la Aplicacin que aparecer en el emulador/dispositivo Android.

Acaba de aparecer un trmino nuevo, para aquellos que estn acostumbrados a trabajar en Java: Activity. Ms adelante har un detallado glosario de los trminos que usa Android. Por ahora, con que tengamos en cuenta que una Activity es un elemento sobre el que se construye la aplicacin y que tiene un ciclo de vida bastante complejo. Estas Activities son pantallas de la aplicacin, en las que podemos cargar elementos de la interfaz de usuario y capturar eventos. Tambin son los puntos entrantes de la aplicacin y puede haber ms de una Activity por proyecto. Pongamos un ejemplo para que se vea ms claro. Supongamos que tenemos una aplicacin de gestin de emails. Esta aplicacin, tendr 2 pantallas, una en la que podremos ver nuestros correos entrantes, y otra en la que podremos escribir nuestro correo para enviarlo. Cada una de estas pantallas es una Activity ya que tiene funcionalidades diferentes. Bueno, espero que haya quedado un poco ms claro, de todas formas, estos trminos irn apareciendo en los prximos tutoriales, as que ya os iris acostumbrando a escucharlos y manejarlos. Continuemos por donde lo habamos dejado: Acabamos de crear un proyecto Android, veamos que es lo que ha creado Eclipse.

En la imagen he desplegado las carpetas para que podamos ver su contenido de un solo golpe de vista. En la carpeta src podemos encontrar el cdigo fuente de la aplicacin. El sistema de paquetes es igual que el de java, se suele crear paquetes que alberguen clases con una misma funcionalidad, as el cdigo es ms legible. Ahora mismo tenemos las clases que ha creado Eclipse por defecto: deMalagana.java que es la clase principal y Activity de la aplicacin, y la clase R.java. La clase R.java es muy peculiar, ya que nosotros no podemos modificarla manualmente, de hecho, se genera automticamente cada vez que modificamos los ficheros de recursos. Esta clase se podra considerar el nexo de unin entre los recursos y el XML y las clases puramente Java. Ya veremos ms adelante este tema. Si seguimos mirando la estructura, nos encontraremos con las libreras Android (android.jar), que nos dan toda la funcionalidad del sistema. Estas libreras dependen del SDK con el que estemos trabajando. Intentad siempre estar actualizados en este tema, para ello visitad regularmente la pgina de desarrolladores Android: Continuemos con los elementos del proyecto de Android.

Nos encontramos ahora con la carpeta res, esta carpeta almacena, mediante un sistema de subcarpetas, los recursos de la aplicacin, desde imgenes hasta los elementos .xml que compondrn el Interfaz de Usuario y la funcionalidad del mismo. Ahora mismo tenemos solo tres subcarpetas: Drawable-> Aqu se almacenan todos los ficheros de imgenes. Layout-> En esta carpeta se guardan los ficheros .XML que compondrn el interfaz de usuario Values->Esta es una carpeta-un-poco-de-todo. Ahora mismo tenemos un fichero string.xml en el cual almacenamos todas las cadenas de texto que aparecern en la aplicacin, pero tambin podremos tener valores de atributos de los elementos de aplicacin o los estilos de estos mismos elementos. Para terminar, tenemos el fichero AndroidManifest.xml indispensable en toda aplicacin Android. En este fichero se almacenan los parmetros de configuracin de la aplicacin, desde los privilegios que le podemos asignar, hasta cual es la Activity principal.
PROGRAMACIN DE UN ANDROID Me da algo de nostalgia volver preparar un post para este sub foro al que tanto le tengo aprecio. Hace ya ms de un ao que no soy usuario activo del foro en general, pero esta es la nica comunidad de la cual me siento parte, as que me complace estar por aqu de nuevo. En este caso va un post de introduccin a la programacin con Android (que es bsicamente programacin en Java), que es bsicamente una adaptacin de todos las entradas que he hecho en mi pgina personal recientemente. Android es un sistema operativo que tiene una acogida cada vez mayor y que, segn mi opinin, es el futuro del desarrollo de aplicaciones para dispositivos mviles. As que ah va un nuevo aporte despus de tanto tiempo... Android es un estupendo sistema operativo para dispositivos mviles basado en Linux, y que nos proporciona un completo SDK para desarrollar nuestras propias aplicaciones de una manera rpida y divertida. En esta seccin aprenderemos a instalar/configurar el SDK y el plugin para Eclipse. Haremos el tpico Hola Mundo, y explicar un poco sobre la metodologa de programacin para esta plataforma. Manos a la obra! 1. Instalar y configurar el SDK de android Vamos a la pgina del Android SDK y descargamos la versin para nuestro sistema operativo. Yo

uso Gentoo Linux, pero los pasos son prcticamente idnticos en Windows y en Mac. La ltima versin al escribir esta entrada es android-sdk_r06. Una vez que hayamos descargado el archivo, lo descomprimimos, entramos a la carpeta que se crea y ejecutamos (en Linux): Cdigo:
Tools/android

En Windows: Cdigo:
SDK Setup.exe

Veremos algo como esto:

Hacemos clic en Available packages y desplegamos el rbol que aparece bajo Sites, Packages and Archives para instalar el API sobre la(s) que deseamos trabajar, y una vez la(s) hayamos seleccionado hacemos clic en Install Selected. En este caso he seleccionado el API 7 (para la versin 2.1 de Android), la documentacin del API 7, los ejemplos del API 7 y el SDK del API 4 (para la versin 1.6 de Android). Es importante elegir las APIs adecuadas teniendo el cuenta el tipo de dispositivo para el que estamos desarrollando la aplicacin. Escog en este caso el API 4 puesto que el equipo sobre el que pruebo los programas viene con Android 1.6 (Donut)]. Por supuesto, si desarrollas con el API 4 tus programas tienen un 98% de probabilidades de correr sobre las versiones ms recientes de Android sin modificacin alguna.

EJEMPLO DE UN ANDROID

El programa lanza un Thread que ser el que se encargar de buscar la posicin GPS. Se usa un Thread para poder mostrar mientras que est buscando una barra de proceso (ProgressDialog). Lo primero que tenemos que hacer para poder usar la seal de GPS es aadir al Manifest.xml de nuestro proyecto el permiso "ACCESS_FINE_LOCATION". Para ello escribimos esta lnea:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Luego en el cdigo JAVA necesitamos un objeto LocationManager, al cual asignaremos un escuchador (LocationListener) para que nos informe cada vez que cambia el estado del GPS mediante el mtodo onLocationChanged. Cuando registremos el escuchador

podremos asinarle el tiempo y la distancia mnima para que se refresque el estado de la seal GPS. El mtodo run() que llama el Thread al ejecutar el mtodo start() es el siguiente:
1. @Override 2. public void run() { 3. mLocationManager = 4. (LocationManager)getSystemService(Context.LOCATION_SERVICE); 5. if (mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { 6. Looper.prepare(); 7. mLocationListener = new MyLocationListener(); 8. mLocationManager.requestLocationUpdates( 9. LocationManager.GPS_PROVIDER, 0, 0, mLocationListener); 10. Looper.loop(); 11. Looper.myLooper().quit(); 12. } else { 13. Toast.makeText(getBaseContext(), 14. getResources().getString(R.string.gps_signal_not_found), 15. Toast.LENGTH_LONG).show(); 16. } 17. }

Aqu se puede ver como se usa el mtodo requestLocationUpdates del objeto LocationManager para registrar el objeto LocationListener. Varias cosas debemos de saber. En Android podemos manejar las localizaciones a patir de proveedores (Providers). El proveedor GPS_PROVIDER es nuestro GPS y en este cdigo estamos pidindole a l que nos diga la posicin. Adems, para trabajar con Threads en Android es necesario llamar a Looper.prepare(); al principio del mtodo run() y Looper.loop(); al final. Realmente no se para que funcionan, supongo que para controlar el estado del Thread, pero sin estas lneas el programa dar un error en tiempo de ejecucin. Tambin tenemos un objeto Handler al cual llamaremos cuando tengamos la localizacin de nuestro GPS y que se encargar de cerrar la ventana de proceso y de establecer los valores del longitud y latitud en los TextView. Esto ltimo es importante, ya que no podemos establecer los valores de los TextView desde el mtodo onLocationChanged del LocationListener ya que para establecer los valores del GUI no se puede hacer desde un Thread que no sea el principal. Simular una seal de GPS en el emulador Para poder probar la aplicacin en el emulador debemos de mandar una seal de GPS a este. Para ello Eclipse en su perspectiva DDMS de Android tiene una apartado donde se puede enviar la latitud y longitud del GPS, pero a mi no me funciona. La alternativa es hacerlo mediante telnet. Para ello abrimos un terminal (tanto en Windows como en Linux) y escribimos:

$ telnet localhost 5554

Esto har que nos podamos conectar al emulador (que tiene que estar ejecutndose, por supuesto). Una vez que estemos en la Android Conlose simplemente escribimos lo siguiente:
$ geo fix 6.46466 8.6456445

Donde el primero valor es la latitud y el segundo la longitud. Para probarlo en el programa seguimos los siguientes pasos:
y y y y y

Abrimos el emulador y lanzamos el programa Pulsamos en el botn "Buscar posicin GPS" y lanzar el dilogo "Buscando..." Ahora abrimos la consola y hacemos el telnet Lanzamos la ge oposicin que queramos El programa debera de decirlos la posicin que le hemos enviado

Vous aimerez peut-être aussi