Está en la página 1de 14

Curso: "Desarrollo de Aplicaciones en Android" 2013

Presentacin de Android
Mdulo 1 / antes de empezar

Todos los logos y marcas utilizados


en este documento, estn registrados y
pertenecen a sus respectivos dueos.

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

Curso: "Desarrollo de Aplicaciones en Android" 2013

Objetivos

El objetivo de este mdulo semanal es hacer la primera presentacin formal de


Android como plataforma basada en Linux para dispositivos mviles. La intencin es
comprender y discutir todo el alcance y las posibilidades de la herramienta y culminar
est primera etapa con la instalacin de una aplicacin base y realizar la infalible y
nunca bien valorada prueba clsica de hola mundo

"Quemar etapas"
Es importante que
saques provecho de cada
mdulo y consultes
todos los temas que se
van tratando, sin
adelantar etapas.

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

Curso: "Desarrollo de Aplicaciones en Android" 2013

Introduccin

Android. La primera plataforma mvil completamente abierta y libre que adems


ofrece a los desarrolladores un Kit de poderosas herramientas para la creacin de
todo tipo de aplicaciones. La plataforma es totalmente Open Source y los
desarrolladores cuentan con numerosas opciones para distribuir y comercializar sus
aplicaciones. Como decamos en el prrafo anterior Android es un proyecto Open
Source (de cdigo abierto) y sistema operativo mvil basado en Linux, que junto con
aplicaciones middleware y otras propias del sistema, est enfocado para ser utilizado
en dispositivos mviles como telfonos inteligentes, tabletas, Google TV y otros
dispositivos. Es desarrollado y mantenido por Google.
Adems cuenta con una poderosa plataforma de desarrollo Open
Source el SDK de Android para el desarrollo de aplicaciones
usando puramente en Java y Programacin Orientada a Objetos.
Android, es un producto desarrollado inicialmente por Android Inc.,
una firma comprada por Google en 2005. Es el principal producto
de la Open Handset Alliance, un conglomerado de fabricantes y
desarrolladores de hardware, software y operadores de servicio, la cual es liderada y
est a cargo por Google.
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, con una
cuota de mercado de 43,6% en el tercer trimestre. A nivel mundial alcanz una cuota
de mercado del 50,9% durante el cuarto trimestre de 2011, ms del doble que el
segundo sistema operativo (iOS de iPhone) con ms cuota. Est diseado con el
objetivo de simplificar el desarrollo de aplicaciones para dispositivos mviles, con las
mejores prcticas y patrones de diseos (design patterns) de ingeniera de software,
enfocado en la construccin de seguras, fiables y modernas.

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

Curso: "Desarrollo de Aplicaciones en Android" 2013

Un poco de Historia

Android, desde su origen en 2007 con la creacin de la Open Handset Alliance, alianza
liderada por Google.
Pero para ello nos vamos a la pgina Android de Wikipedia, tanto en castellano como
en ingls.
Donde tienes informacin detallada sobre su historia, las
distintas versiones que se han llevado a cabo de momento
y las perspectivas de futuro. En la versin espaola, lo
presentan, a Android como parte de la familia Linux. Lo
cual es cierto y ha llevado a decir a alguno de los
principales desarrolladores de Android a decir que se trata
del autntico triunfo de Linux en cuanto a los sistemas
operativos de uso personal va en camino de serlo, porque
en otros muchos terrenos ya ha triunfado hace mucho
tiempo. En realidad Android deriva del Kernel de Linux,
pero es un fork separado de ese Kernel.
Como seguro que ya sabes en ingeniera de Software una
Fork hace referencia a cuando partiendo de un cdigo
fuente de un paquete de cdigo Open Source se inicia un
desarrollo, independiente de l. Crendose por tanto un
trozo distintos de Software. Lo que significa que a da de
hoy los equipos de Android y Linux son totalmente
independientes, aunque desde luego Android es
totalmente Open Source y deriva de Linux.

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

Curso: "Desarrollo de Aplicaciones en Android" 2013

Pero aunque no hagamos historia, antes de entrar en materia si que nos vamos a parar
un momento en ver cuales son las principales ventajas que presenta Android y las
razones por las cuales creo que tenemos que apostar por l.
El fuerte crecimiento en los ltimos aos de lo que de modo general podemos llamar
dispositivos mviles, ha modificado radicalmente el mundo de la web y la
programacin.

El propio Steve Jobs ha hablado del fin de la era de los ordenadores de sobremesa, lo
que puede parecer un poco exagerado, aunque Smartphones, tablets y todo tipo de
dispositivos mviles prometen seguir creciendo de modo exponencial en los prximos
aos.

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

Curso: "Desarrollo de Aplicaciones en Android" 2013

Sin embargo, en este terreno, parece reproducirse la antigua guerra de los

ordenadores Personales entre Windows y el universo Apple, Y aunque a da de hoy


Apple mantiene cierta ventaja, lo cierto es que probablemente acabe exactamente
igual.

Apple contra el mundo, como podemos ver en esta comparacin entre dispositivos con
Android. Decenas de marcas de dispositivos mviles se han decantado por el uso de
Android, el pequeo robot verde.
De nuevo en esta pgina de la wikipedia
puedes ver una comparativa de todas las
marcas y modelos que de momento han
incorporado Android.
Ya hoy la mayora de las grandes
empresas se han decantado por Android,
como en su momento ocurri con
Windows.
AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

Curso: "Desarrollo de Aplicaciones en Android" 2013

Pero adems Android presenta tambin todas las ventajas y algn que otro
inconveniente de Linux al ser un sistema operativo de Cdigo Abierto.

Y, desde luego, adems, Android tiene detrs el peso de una gran empresa como
Google, el principal miembro contribuidor de la Open Handset Alliance desde sus
inicios. La compaa hospeda el proyecto Open Source Android, as como el sitio web
de desarrollo SDK. Este es el sitio al que tenemos que ir para descargar el sdk de
Android, obtener la documentacin ms actualizada sobre la plataforma y navegar por
los foros de desarrollo. Google tambin controla el servicio ms popular para vender
aplicaciones Android a los usuarios finales.
Vender o distribuir las aplicaciones. Se trata del Android Market. Y en fin, quien no
conoce a la mascota de Android, el pequeo robot verde, presente en toda la web.
Pero hay ms ventajas todava, aunque la mayora de las aplicaciones Android estn
escritas en Java, los desarrolladores tienen tambin otras opciones para crear
aplicaciones, por ejemplo pueden disear aplicaciones web usando HTML5, CSS3 y
JavaScript. Pero tambin pueden usar el NDK, el Android Native Development Kit para
incluir cdigo C y C++ en aplicaciones Android.
Seguimos con ms ventajas, desde luego el desarrollo es sencillo y poco costoso.
A diferencia de otras plataformas mviles, construir para Android no tiene ningn costo
en el desarrollo. El SDK de Android y las herramientas estn libremente disponibles en
los sitios de los desarrolladores.

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

Curso: "Desarrollo de Aplicaciones en Android" 2013

Por qu Android?

Cuenta con una gran comunidad de desarrolladores


escribiendo aplicaciones para extender la funcionalidad de
los dispositivos. A la fecha, se han sobrepasado las
400.000 aplicaciones (de las cuales, dos tercios son
gratuitas) disponibles para la tienda de aplicaciones oficial
de Android: Google Play, 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. Google Play 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. No obstante, no es un sistema operativo libre de malware, aunque la mayora de
ello es descargado de sitios de terceros.

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

Curso: "Desarrollo de Aplicaciones en Android" 2013

Lo ltimo en tecnologa y funcionalidades de la Web 2.0

Diseo del dispositivo: La plataforma es adaptable a pantallas ms grandes, VGA,


biblioteca de grficos 2D, biblioteca de grficos 3D basada en las especificaciones
de OpenGL.

Almacenamiento: SQLite, una base de datos liviana, que es usada para propsitos
de almacenamiento de datos.

Conectividad: Android soporta las siguientes tecnologas de conectividad:


GSM/EDGE, 3G, Bluetooth, Wi-Fi, etc.

Mensajera: SMS y MMS como mensajera de texto.

Navegador web: El navegador web incluido en Android est basado en el motor de


renderizado de cdigo abierto WebKit, emparejado con el motor JavaScript V8 de
Google Chrome.

Soporte multimedia: Android soporta la mayora de los formatos multimedia:


WebM, H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, MP3, MIDI,
Ogg Vorbis, WAV, JPEG, PNG, GIF y BMP.67

Soporte para streaming: Streaming RTP/RTSP (3GPP PSS, ISMA), descarga


progresiva de video HTML5. Adobe Flash Streaming es soportado mediante el
Adobe Flash Player.

Soporte para hardware adicional: Android soporta cmaras de fotos, de vdeo,


pantallas tctiles, GPS, sensores de proximidad y de presin, termmetro,
aceleracin 2D y 3D etc.

Google Play: es un catlogo de aplicaciones gratuitas o de pago en el que pueden


ser descargadas e instaladas en dispositivos Android sin la necesidad de un PC.

Video llamada: Android soporta videollamada a travs de Google Talk.

Caractersticas basadas en voz: La bsqueda en Google a travs de voz est


disponible como "Entrada de Bsqueda" desde la versin inicial del sistema.

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

Curso: "Desarrollo de Aplicaciones en Android" 2013

Arquitectura
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++.

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

10

Curso: "Desarrollo de Aplicaciones en Android" 2013

Los componentes principales de Android son los siguientes:

Aplicaciones: las aplicaciones base incluyen un cliente de correo electrnico,


programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las
aplicaciones estn escritas en lenguaje de programacin Java.

Marco de trabajo de aplicaciones: los desarrolladores tienen acceso completo


a los mismos APIs del framework usados por las aplicaciones base. La
arquitectura est diseada para simplificar la reutilizacin de componentes;
cualquier aplicacin puede publicar sus capacidades y cualquier otra aplicacin
puede luego hacer uso de esas capacidades (sujeto a reglas de seguridad del
framework). Este mismo mecanismo permite que los componentes sean
reemplazados por el usuario.

Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por


varios componentes del sistema. Estas caractersticas se exponen a los
desarrolladores a travs del marco de trabajo de aplicaciones de Android;
algunas son: System C library (implementacin biblioteca C estndar),
bibliotecas de medios, bibliotecas de grficos, 3D y SQLite, entre otras.

Runtime de Android: Android incluye un set de bibliotecas base que


proporcionan la mayor parte de las funciones disponibles en las bibliotecas base
del lenguaje Java. Cada aplicacin Android corre su propio proceso, con su
propia instancia de la mquina virtual Dalvik. Dalvik ha sido escrito de forma que
un dispositivo puede correr mltiples mquinas virtuales de forma eficiente.
Dalvik ejecuta archivos en el formato Dalvik Executable (.dex), el cual est
optimizado para memoria mnima. La Mquina Virtual est basada en registros y
corre clases compiladas por el compilador de Java que han sido transformadas
al formato.dex por la herramienta incluida "dx".

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

11

Curso: "Desarrollo de Aplicaciones en Android" 2013

Ncleo Linux: Android depende de Linux para los servicios base del sistema

como seguridad, gestin de memoria, gestin de procesos, pila de red y modelo


de controladores. El ncleo tambin acta como una capa de abstraccin entre
el hardware y el resto de la pila de software.
Uno de los primeros diagramas presentados por
Android donde muestran de forma general los
componentes principales de la arquitectura

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

12

Curso: "Desarrollo de Aplicaciones en Android" 2013

Plenamente probado, seguro y confiable

Android se prueba constantemente mediante tcnicas de test unitario de Java, desde


el principio, con estrictos requisitos en materia de calidad de cdigo para asegurarse de
que todo el cdigo contribuido no slo ha sido objeto testeado, adems de ser estable y
fcil de extender y de mantener. Con todo esto buscan garantizar que podemos
crear nuestras propias aplicaciones a partir del SDK de Android.

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

13

Curso: "Desarrollo de Aplicaciones en Android" 2013

En Resumen

Android proporciona cada uno de los componentes para muchos otros requisitos
comunes en el desarrollo de aplicaciones de celulares y dispositivos mviles cmo
telfonos inteligentes, ordenadores porttiles, netbooks, tabletas, Google TV,
incluyendo almacenamiento, mensajera, conectividad, navegador web, soporte de
Java, soporte multimedia, soporte para streaming, entorno de desarrollo, caractersticas
basadas en voz, multitarea, video llamada, Bluetooth, multi-tctil.
Android, al contrario que otros sistemas operativos para dispositivos mviles como iOS
o Windows Phone, se desarrolla de forma abierta y se puede acceder tanto al cdigo
fuente como al listado de incidencias donde se pueden ver problemas an no resueltos
y reportar problemas nuevos.

Todos estos paquetes de Software estn disponibles de modo gratuito para su


descarga, cuenta con una excelente documentacin y foros de desarrolladores muy
activos y amplios. Desde luego ya sabemos que para desarrollar en Android, podemos
usar distintos sistemas operativos y distintas configuraciones de Software.

Si he llegado ms lejos ha sido apoyado en los hombros de gigantes


Isaac Newton (1642-1727)

Enva tus consultas a los foros!


Fin.

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5

Aqu es cuando debes sacarte todas


las dudas haciendo consultas en los
foros correspondientes

14

También podría gustarte