Anda di halaman 1dari 4

1.

Qu es Android?

En Espaa, el nmero de telfonos mviles excede el tamao de la poblacin
desde 2006. Desde hace tiempo, la mayora de estos telfonos son inteligentes
(smartphones en ingls). Estos pocos datos muestran lo importante que es
para un programador formarse en el desarrollo de aplicaciones para
dispositivos mviles.
Escribir aplicaciones para dispositivos mviles no es lo mismo que hacerlo para
ordenadores de sobremesa. Para empezar, los teclados son muy pequeos y,
las pantallas, aunque varan de tamao, son ms pequeas en general. Las
aplicaciones mviles deben ser capaces de ejecutarse en un rango enorme de
dispositivos. Estos dispositivos se utilizan en entornos diversos, no solo en
interiores sino tambin con creciente frecuencia al aire libre. Las limitaciones de
almacenamiento y batera son, sobre todo estas ltimas, muy exigentes.
Adems, los dispositivos mviles se encienden y apagan con frecuencia y
tambin con ms frecuencia de la deseada, se desconectan de la red.
Vamos a utilizar Android para afrontar estos desafos principalmente porque es
cdigo abierto y cada vez ms popular entre los usuarios como se puede ver
en la Figura 1. En el tercer trimestre de 2014, el 83% de los telfonos
inteligentes llevan Android como sistema operativo. En segundo lugar se
encuentra iOS con un 13% y, en tercer lugar, sin alcanzar todava los dos
dgitos (3%), se encuentra Windows Phone. El resto de los sistemas se lleva
algo mas del 1%. Adems, Espaa es uno de los pases con ms implantacin
de Android, superando el 80%.

Figura 1. Mercado de los Sistemas Operativos de Telfonos Inteligentes (figura extrada de


wikipedia bajo licencia Creative Commons)

Bsicamente, Android es un sistema operativo mvil basado en Linux. El SDK


(Software Development Kit) de Android proporciona las herramientas
necesarias para desarrollar aplicaciones Android utilizando el lenguaje de
programacin Java. Android fue desarrollado originalmente por una startup del
mismo nombre que fue comprada por Google en 2005. Cualquiera puede
empezar a utilizar Android descargando su cdigo completo. Adems, los
fabricantes pueden aadir sus extensiones propietarias, lo cual ha hecho
crecer considerablemente la aceptacin de la plataforma.
La figura 2 muestra los principales componentes del sistema Android:

Applications: Android incluye aplicaciones como un cliente de correo o un


navegador escritos en Java.
Application framework: Los desarrolladores tiene acceso completo a los
mismos interfaces de programacin de aplicaciones (APIs) utilizados en las
aplicaciones centrales, las del punto anterior. Tendrs ocasin de escribir
programas robustos mediante la extensin de estas clases base y la
sobreescritura de mtodos especficos.
Libraries: Android incluye un conjunto de bibliotecas C/C++ cuya
funcionalidad se expone a los desarrolladores a travs del Application
Framework en Java (no es necesario programar en C o C++). Por ejemplo,
SQLite, un potente motor de bases de datos, est a disposicin de los
desarrolladores.
Android Runtime: Esto es una implementacin optimizada de una
Mquina Virtual de Java denominada Mquina Virtual Dalvik. Esta mquina
virtual se basa en el kernel de Linux para gestionar hilos (threading en
ingls), por ejemplo.
Linux Kernel: Todo dispositivo Android ejecuta Linux 2.6. Esto permite
ejecutar cada aplicacin en una gran variedad de dispositivos Android sin
necesidad de hacer varios desarrollos. Android recurre a Linux para
servicios tales como la gestin de memoria y de procesos.


Figura 2. Principales componentes del sistema Android.

Versiones de Android
La historia de Android comenz con la publicacin de Android beta en
Noviembre de 2007. La primera versin comercial apareci en febrero de 2009.
Desde abril de 2009, las versiones reciben un nombre inspirado en un postre o
un dulce, en orden alfabtico.
Google public Android 3.0 (Honeycumb) en febrero de 2011, versin
disponible tan solo para dispositivos con pantalla grande como las tabletas. Si
quieres ejecutar una app de tableta Android 3.0 en dispositivos con versiones
ms antiguas, debes asegurarte programticamente de que tu app utiliza tan
solo caractersticas disponibles para la versin de Android correspondiente.
En octubre de 2011, Google public Android 4.0, poniendo a disposicin de los
smartphones todas las caractersticas introducidas en Android 3.0 para las
tabletas. A finales de 2013 apareci KitKat que es ms ligero, el mnimo de
RAM requerido es 512 megas, y consume menos batera que las versiones
anteriores. En noviembre de 2014 se public Lollipop, API 21, con el ya famoso
diseo material.
Versin

Nivel API

Nombre

Beta
1.0
1.1

Fecha de
publicacin
05/11/2007
23/09/2008
09/02/2009

1
2

Astro
Bender

1.5

30/04/2009

Cupcake

1.6

15/09/2009

Donut

2.0/2.1

26/10/2009

5 (2.0)
6 (2.0.1)
7 (2.1.x)

Eclair

2.2

20/05/2009

Froyo

2.3

06/12/2010

9 (2.3 - 2.3.2)
10 (2.3.3 - 2.3.7)

Gingerbread

3.0/3.1/3.2

22/02/2011

11 (3.0.x)
12 (3.1)
13 (3.2)

Honeycomb

4.0

19/10/2011

14 (4.0 - 4.0.2)
15 (4.0.3 - 4.0.4)

Ice Cream
Sandwich

4.1

09/07/2012

16 (4.1.1)

Jelly Bean

4.2
13/11/2012
17 (4.2)
Jelly Bean
4.3
24/07/2013
18
Jelly Bean
4.4
31/11/2013
19
KitKat
5.0
12/11/2014
21
Lollipop
Tabla 1. Versiones de Android, fechas de publicacin y nombres.

En este curso vamos a tomar contacto con Android mediante el desarrollo paso
a paso de un juego de mesa denominado cha cha cha. De esta forma, casi sin
darte cuenta, acabars manejando un gran nmero de recursos de Android
como son las actividades, los ficheros de diseo, las intenciones, los
fragmentos, los mens, los dilogos, las preferencias, etc. Estos conocimientos
te permitirn realizar aplicaciones sencillas para dispositivos Android y te darn
las bases para profundizar en aspectos ms complejos de este sistema
operativo.

Cuotas de mercado de Android


La siguiente tabla muestra la distribucin de las distintas versiones de Android
por dispositivos. Los datos fueron recogidos durante un periodo de 7 das
terminando el 5 de enero de 2015.

Figura 3. Distribucin de las versiones de Android a principios de 2015.

Los datos muestran cmo casi el 92% de los dispositivos tienen APIs por
encima de la 14. Como veremos esto es importante a la hora de crear
proyectos Android, pues es necesario especificar el nivel API mnimo del
dispositivo para poder instalar la aplicacin.