Documentos de Académico
Documentos de Profesional
Documentos de Cultura
0053M722
0053M722
DIRECTOR:
CARLOS AUGUSTO MENESES ESCOBAR
Nota de aceptacin:
____________________________
____________________________
____________________________
____________________________
____________________________
____________________________
_____________________________
Firma del presidente del jurado
_____________________________
Firma del jurado
_____________________________
Firma del jurado
AGRADECIMIENTOS
Si bien este proyecto de grado ha requerido esfuerzo y dedicacin por parte de los
integrantes involucrados en el mismo, no hubiese sido posible su finalizacin sin la
cooperacin desinteresada de todas y cada una de las personas que a
continuacin se citan.
Primero y antes que nada, dar gracias a Dios por estar con nosotros en cada paso
que damos, por brindarnos sabidura y paciencia para afrontar las dificultades
encontradas y por haber puesto en nuestro camino aquellas personas que de una
u otra forma hicieron posible la realizacin de este proyecto.
Agradecer hoy y siempre a nuestras familias que en todo momento se preocupan
por nuestro bienestar y nos brindan su apoyo incondicional en cualquier
circunstancia en la que nos encontremos.
De igual manera nuestro ms sincero agradecimiento a nuestro asesor de
proyecto de grado, Ingeniero Carlos Augusto Meneses, quien estuvo dispuestos a
brindarnos asesoras en los momentos que lo requerimos y dedic parte de su
tiempo para darnos un acompaamiento durante la realizacin de este proyecto.
CONTENIDO
pg.
1. TITULO............................................................................................................ 15
2. FORMULACIN DEL PROBLEMA ................................................................. 15
3. JUSTIFICACION ............................................................................................. 16
4. OBJETIVOS .................................................................................................... 17
4.1
4.2
5. MARCO CONCEPTUAL.................................................................................. 18
5.1
MVIL....................................................................................................... 18
5.3
STACK DE SOFTWARE........................................................................... 21
5.4
5.5
OPENGL ................................................................................................... 22
5.6
5.7
DOM ......................................................................................................... 22
5.8
HTML5 ...................................................................................................... 22
5.9
PLATAFORMA ......................................................................................... 22
HISTORIAL DE ACTUALIZACIONES....................................................... 28
6.2
7.2
ARQUITECTURA ..................................................................................... 39
6
7.3
KERNEL ................................................................................................... 40
LIBRERAS ............................................................................................... 48
7.6
7.7
8.1
8.2
8.3
8.4
DESARROLLO ......................................................................................... 69
8.5
PUBLICACIN ......................................................................................... 69
8.6
8.7
APNDICE ............................................................................................... 69
8.8
8.9
HIPOTESIS............................................................................................... 85
9.2
9.3
METODOLOGA ....................................................................................... 85
11
LISTA DE TABLAS
12
LISTA DE GRFICAS
13
INTRODUCCION
14
1. TITULO
Android es una plataforma de rpida evolucin, por lo cual es necesario contar con
documentacin actualizada, que adems, describa en detalle todos los aspectos
del sistema operativo, y no tan solo las interfaces para programacin que este
provee.
Sin tal documentacin, no es posible aprovechar al mximo el carcter libre de
este sistema, limitando los alcances a los que puede llegar en desarrollos que
pretendan hacer uso de este.
Se presenta tambin como inconveniente, la barrera del idioma. Para fomentar
adecuadamente el uso de Android a nivel regional, es preciso contar con una
extensa documentacin que describa cada detalle del sistema operativo, y que
adems, se encuentre en espaol.
Debido al crecimiento acelerado del sistema operativo Android, se podra plantear
la pregunta: Puede una gua en Espaol, que describa en detalle la arquitectura
del Sistema Operativo Android, sus interfaces de programacin y su
funcionamiento, fomentar la apropiacin de esta tecnologa en la investigacin y el
desarrollo de la industria local?
15
3. JUSTIFICACION
16
4. OBJETIVOS
Desarrollar una gua de consulta acerca del sistema operativo Android, sus
caractersticas y funcionalidad para dispositivos mviles.
Detallar los diferentes componentes de las libreras del sistema operativo Android
en dispositivos mviles.
17
5. MARCO CONCEPTUAL
5.1 MVIL
Del latn mobilis, la nocin de mvil permite el desarrollo de varios conceptos
vinculados. En esencia, un mvil es aquello que puede moverse o que se mueve
por s mismo, que no tiene estabilidad o que mueve, ya sea de forma material o
moral, algo1.
Telefona mvil: La historia de la telefona mvil nos remonta hasta 30 casi 40
aos atrs, cuando en 1973 se estableci el primer contacto telefnico con xito
usando un terminal porttil. Esta llamada tuvo como protagonistas a Martin
Cooper, un ejecutivo de Motorola, y Joel Engel, un importante ejecutivo de Bell
Labs.2
El telfono mvil es un dispositivo inalmbrico electrnico que permite tener
acceso a la red de telefona celular o mvil. Se denomina celular en la mayora de
pases latinoamericanos debido a que el servicio funciona mediante una red de
celdas, donde cada antena repetidora de seal es una clula, si bien tambin
existen redes telefnicas mviles satelitales. Su principal caracterstica es su
portabilidad, que permite comunicarse desde casi cualquier lugar. La principal
funcin es la comunicacin de voz, como el telfono convencional.3
18
5.1.2.2 Smartphone
Es un telfono inteligente que puede comunicarse a travs de Wi-Fi, bluetooth,
conexin a internet, envo de mensajera, y con e-mails.
Generalmente se define como dispositivo electrnico de mano que integra la
funcionalidad de un telfono celular, PDA o similar. Opera aadiendo funciones
de telfono a un PDA existente o aadiendo funcionalidades "inteligentes", como
las funciones del PDA, en un telfono celular.
19
5.1.2.3 Tableta
Una tableta (del ingls: tablet o Tablet computer) es un tipo de computadora
porttil, de mayor tamao que un smartphone o una PDA, integrado en una
pantalla tctil (sencilla o multitctil) con la que se interacta primariamente con los
dedos o una pluma stylus (pasiva o activa), sin necesidad de teclado fsico ni
ratn. Estos ltimos se ven remplazados por un teclado virtual y, en determinados
modelos, por una mini-trackball integrada en uno de los bordes de la pantalla.7
El trmino puede aplicarse a una variedad de formatos que difieren en la posicin
de la pantalla con respecto a un teclado. El formato estndar se llama pizarra
(slate) y carece de teclado integrado aunque puede conectarse a uno inalmbrico
(Bluetooth) o mediante un cable USB (muchos sistemas operativos reconocen
directamente teclados y ratones USB). Otro formato es el porttil convertible, que
dispone de un teclado fsico que gira sobre una bisagra o se desliza debajo de la
pantalla. Un tercer formato, denominado hbrido (como el HP Compaq TC1100),
dispone de un teclado fsico, pero puede separarse de l para comportarse como
una pizarra. Por ltimo los Booklets incluyen dos pantallas, al menos una de ellas
tctil, mostrando en ella un teclado virtual.
20
21
5.5 OPENGL
Del ingles (Open Graphics Library) es una especificacin estndar que define una
API multilenguaje y multiplataforma para escribir aplicaciones que produzcan
grficos 2D y 3D.
5.7 DOM
DocumentObjectModel es una API que proporciona un conjunto de objetos para
representar HTML y XML.
5.8 HTML5
(HyperText Markup Language, versin 5) es la quinta revisin importante del
lenguaje bsico de la World Wide Web.
5.9 PLATAFORMA
Como su nombre lo indica es la base donde se va a sostener lo que se va a
desarrollar, es el hardware para el cual se va a realizar la aplicacin, donde se
debe de tener en cuenta la arquitectura del dispositivo (procesador, memoria,
entre otros).
22
5.10
TIPOS DE APLICACON
11
OpenGL.The Industry's Foundation for High Performance Graphics. Plataforma de Software. [en lnea].
http://www.opengl.org/. [citado en 21 de Enero de 2012]
23
5.11
5.12
5.13
MIDLET
12
OpenGL.The Industry's Foundation for High Performance Graphics. Entorno de desarrollo integrado. [en
lnea]. http://www.opengl.org/. [citado en 21 de Enero de 2012]
24
5.14
XCODE
5.15
JQUERY
5.16
JQTOUCH
Un plugin de jQuery para el desarrollo web mvil en el iPhone, iPod Touch y otros
dispositivos de visin futurista.
Esta librera imita el estilo y el comportamiento de las aplicaciones nativas del
iPhone OS usando HTML5 y CSS3. En realidad se basa en caractersticas HTML5
13
25
5.17
METODOLOGIA
La Metodologa, (del griego meta "ms all", ods "camino" y logos "estudio"),
hace referencia al conjunto de procedimientos basados en principios lgicos,
utilizados para alcanzar una gama de objetivos que rigen en una investigacin
cientfica o en una exposicin doctrinal. El trmino puede ser aplicado a las artes
cuando es necesario efectuar una observacin o anlisis ms riguroso o explicar
una forma de interpretar la obra de arte.
El trmino mtodo se utiliza para el procedimiento que se emplea para alcanzar
los objetivos de un proyecto y la metodologa es el estudio del mtodo.16
5.18
DESARROLLO DE APLICACIONES
15
JQTouch. Plugin for mobile web development. [en lnea]. http://jqtouch.com/. [citado en 23 de Enero de
2012]
16
26
6. HISTORIA
18
OSL. Oficina de Software Libre. Universidad de las palmas de Gran Canaria, creacin de aplicaciones
mviles para android. [en lnea]. http://osl.ulpgc.es/cursos/android. [citado en 02 de Febrero de 2012]
27
19
28
menos 18 meses desde su salida al mercado, pero esto al final nunca se concret
y el proyecto se cancel.21
1.5 (Cupcake)
Basado en el
kernel de Linux
2.6.27
1.6 (Donut)
Basado en el
kernel de Linux
2.6.29
21
29
2.2 (Froyo)
Basado en el
kernel de Linux
2.6.32
2.3
(Gingerbread)
Basado en el
kernel de Linux
2.6.35.7 Actual
en smat
4.0 (Ice
CreamSandwic
h)
33
Tabla 3. Caractersticas23
APLICACIN
CARACTERISTCAS
Diseo de
dispositivo
Almacenamiento
Conectividad
Mensajera
Android
soporta
las
siguientes
tecnologas
conectividad: GSM/EDGE, IDEN, CDMA, EVDO, UMTS, Bluetooth, Wi-Fi, LTE y WiMAX.
de
23
34
Soporte
multimedia
Android
soporta
los
siguientes
formatos
multimedia: WebM, H.263, H.264 (en 3GP o MP4), MPEG-4
SP, AMR, AMR-WB (en un contenedor 3GP), AAC, HEAAC (en
contenedores
MP4
o
3GP), MP3, MIDI, OggVorbis, WAV, JPEG,PNG, GIF y BMP.
Soporte para
streaming
Soporte para
hardware
adicional
Entorno de
desarrollo
Market
Multi-tctil
Bluetooth
Videollamada
Multitarea
Tethering
36
7. MARCO TEORICO
24
Universidad Carlos III de Madrid. Programacin en dispositivos mviles portables. Android. [en lnea].
http://sites.google.com/site/swcuc3m/home/android/portada. [citado en 2 de Febrero de 2012]
25
37
26
38
7.2 ARQUITECTURA
La arquitectura interna de la plataforma Android, est bsicamente formada por 4
componentes: aplicaciones, armazn de aplicaciones, libreras y kernel/Linux,
como se muestra en la siguiente grfica:
27
Universidad Carlos III de Madrid. Programacin en dispositivos mviles portables. Arquitectura Android.
[en lnea]. https://sites.google.com/site/swcuc3m/home/android/generalidades/2-2-arquitectura-deandroid. [citado en 2 de Febrero de 2012]
39
7.3 KERNEL
Android utiliza el ncleo de Linux 2.6 como una capa de abstraccin para el
hardware disponible en los dispositivos mviles. Esta capa contiene los drivers
necesarios para que cualquier componente hardware pueda ser utilizado mediante
las llamadas correspondientes. Siempre que un fabricante incluye un nuevo
elemento de hardware, lo primero que se debe realizar para que pueda ser
28
40
utilizado desde Android es crear las libreras de control o drivers necesarios dentro
de este kernel de Linux embebido en el propio Android30
7.3.1 Numeracin
La versin del ncleo Linux actualmente consta de cuatro nmeros. Por ejemplo,
asumamos que el nmero de la versin est compuesta de esta forma: A.B.C.D.
(ej.: 2.2.1, 2.4.13 2.6.12.3).
30
Universidad Carlos III de Madrid. Programacin en dispositivos mviles portables. Arquitectura Android.
[en
lnea].
https://sites.google.com/site/swcuc3m/home/android/generalidades/2-2-arquitectura-deandroid. [citado en 2 de Febrero de 2012]
41
arreglado como nico cambio. Con 2.6.11, esto fue adoptado como la
nueva poltica de versiones. Bug-fixes y parches de seguridad son
actualmente manejados por el cuarto nmero dejando los cambios mayores
para el nmero C.
El modelo de desarrollo para Linux 2.6 fue un cambio significativo desde el modelo
de desarrollo de Linux 2.5. Previamente exista una rama estable (2.4) donde se
haban producido cambios menores y seguros, y una rama inestable (2.5) donde
estaban permitidos cambios mayores. Esto signific que los usuarios siempre
tenan una versin 2.4 a prueba de fallos y con lo ltimo en seguridad y casi libre
de errores, aunque tuvieran que esperar por las caractersticas de la rama 2.5. La
rama 2.5 fue eventualmente declarada estable y renombrada como 2.6. Pero en
vez de abrir una rama 2.7 inestable, los desarrolladores de ncleos eligieron
continuar agregando los cambios en la rama estable 2.6. De esta forma no haba
que seguir manteniendo una rama vieja pero estable y se poda hacer que las
nuevas caractersticas estuvieran rpidamente disponibles y se pudieran realizar
ms test con el ltimo cdigo.31
FECHA
NOTA
17 de
septiembre
de 1991
InitialPublicRele
ase
FICHER
O
88
LOC
MIB
8.413
0,26
7
MIB
(BZ2)
0,06
31
Universidad Carlos III de Madrid. Programacin en dispositivos mviles portables. Arquitectura Android.
[en lnea]. https://sites.google.com/site/swcuc3m/home/android/generalidades/2-2-arquitectura-deandroid. [citado en 2 de Febrero de 2012]
32
Universidad Carlos III de Madrid. Programacin en dispositivos mviles portables. Arquitectura Android.
[en lnea]. https://sites.google.com/site/swcuc3m/home/android/generalidades/2-2-arquitectura-deandroid. [citado en 2 de Febrero de 2012]
42
0.02
0.11
0.95
1.0.0
1.1.0
1.2.0
1.3.0
2.0.0
2.1.0
2.2.0
2.3.0
2.4.0
2.5.0
2.6.0
2.6.25
2.6.30
2.6.35
3.0
5 de octubre
de 1991
8 de
diciembre
de 1991
7 de marzo
de 1992
13 de marzo
de 1994
6 de abril de
1994
6 de marzo
de 1995
12 de junio
de 1995
9 de junio
de 1996
30 de
septiembre
de 1996
26 de enero
de 1999
11 de mayo
de 1999
4 de enero
de 2001
23 de
noviembre
de 2001
18 de
diciembre
de 2003
16 de abril
de 2008
10 de junio
de 2009
1 de agosto
de 2010
22 de julio
de 2011
Primera versin
estable
Versin de
desarrollo
Versin de
desarrollo
Versin de
desarrollo
Versin de
desarrollo
100
11.907
0,36
3
0,076
122
19.200
0,111
561
170.581
0,53
3
4,63
3
561
170.320
909
294.623
992
323.581
2.015
716.119
21,7
4,499
1.727
735.736
4.599
1.676.1
82
1.763.3
58
3.158.5
60
3.833.6
03
96,8
18,79
4.721
8.187
Versin de
desarrollo
9.893
0,969
15.007
5.475.6
85
170,
7
31,7
23.810
8.396.2
50
10.419.
567
12.250.
679
13.688.
408
258,
8
322,
3
376,
2
410,
8
46,4
27.878
33.315
36.782
56,7
66,1
73,2
43
33
Universidad Carlos III de Madrid. Programacin en dispositivos mviles portables. Arquitectura Android.
[en lnea]. https://sites.google.com/site/swcuc3m/home/android/generalidades/2-2-arquitectura-deandroid. [citado en 2 de Febrero de 2012]
44
7.3.4.1 Goldfis
El emulador de Android corre una CPU virtual que Google llama Goldfish, el cual
ejecuta las instrucciones ARM926T y cuenta con ganchos para entrada y salida,
tales como la lectura de las pulsaciones de teclas o mostrar la salida de vdeo en
el emulador.
Estas interfaces se implementan en archivos especficos para el emulador de
Goldfish y no sern compilados en un ncleo que se ejecuta en dispositivos
reales.
7.3.4.2 Yaffs2
Yaffs2 es un acrnimo de un sistema de archivos Flash, (2 edicin). Proporciona
una interfaz de alto rendimiento entre el kernel de Linux y los dispositivos de
memoria flash NAND. Yaffs2 ya estaba libremente disponible para Linux. Sin
embargo, no es parte de la norma 2.6.25 del kernel de Linux.
El Smartphone HTC G1 utiliza memoria flash NAND, un tipo de memoria flash que
es cada vez ms popular debido a su combinacin de alta densidad y bajo costo.
34
SHANKER, Abhyudai. Android Porting Concepts. En: CSE Department Jaypee Institute of Information
technology. NOIDA, India. [base de datos en lnea]. [citado en 10 de Febrero de 2012]. Disponible en IEEE
2011
45
7.3.4.3 Bluetooth
Google hizo cambios en 10 archivos de la pila de comunicaciones Bluetooth.
Estos cambios corrigen los errores aparentes relacionados con auriculares
Bluetooth, y aade la depuracin de Bluetooth y funciones de control de acceso.
7.3.4.4.3 Ashmem
Es un sistema annimo de memoria compartida que aade las interfaces a los
procesos, pueden compartir bloques de la memoria.
46
47
7.4 LIBRERAS
La capa de libreras se coloca por encima del kernel de Android, para proveer una
interfaz de programacin (API) unificada para acceder a las capacidades que el
kernel provee. Siendo Android un sistema tipo Unix, hace uso de una librera C
(libc) que implementa llamados al sistema para que las aplicaciones accedan a los
servicios que provee el kerrnel.36
Adems de las capacidades que provee la librera de C, Android incluye tambin
otro conjunto de libreras escritas tanto en C, como en C++. A continuacin, se
pueden encontrar las libreras ms importantes:
35
48
librera llamada Bionic, que utiliza una licencia BSD llamada, y ha sido optimizada
para dispositivos mviles.38
38
49
7.4.5 FreeType
Se encarga del renderizado de fuentes en mapas de bits, y vectoriales.42
41
Android Authority. Open Core. [en lnea]. http://www.androidauthority.com/packetvideo-releaseopencore-20-for-android-2099/. [citado en 12 de Febrero de 2012]
42
50
44
GARGENTA, Marko. Learning Android. Runtime. Estados Unidos. Andy Oram, Brian Jepson, 2011. 239p.
(OReilly Media) ISBN 978-1-449-39050-1
51
46
GARGENTA, Marko. Learning Android. Runtime. Estados Unidos. Andy Oram, Brian Jepson, 2011. 239p.
(OReilly Media) ISBN 978-1-449-39050-1
47
MEDNIEKS, Zigurd. DORMIN, Laird. MEIKE, Blake. NAKAMURA Masumi. Programming Android. Dalvik.
Estados Unidos. Andy Oram, Brian Jepson, 2011. 463p. (OReilly Media) ISBN 978-1-449-38969-7
52
48
Universidad Carlos III de Madrid. Programacin en dispositivos mviles portables. Aplicaiones. [en lnea].
http://sites.google.com/site/swcuc3m/home/android/generalidades/aplicacionesandroid. [citado en 2 de
Febrero de 2012]
53
7.7.2.1 ActivityManager
Conjunto de API que gestiona el ciclo de vida de las aplicaciones en Android.
Sin duda es el componente ms habitual de las aplicaciones para Android. Un
componente Activity refleja una determinada actividad llevada a cabo por una
aplicacin, y que lleva asociada tpicamente una ventana o interfaz de usuario; es
importante sealar que no contempla nicamente el aspecto grfico, sino que ste
forma parte del componente Activity a travs de vistas representadas por clases
como View y sus derivadas. Este componente se implementa mediante la clase de
mismo nombre Activity.
La mayora de las aplicaciones permiten la ejecucin de varias acciones a travs
de la existencia de una o ms pantallas. Por ejemplo, pinsese en una aplicacin
de mensajes de texto. En ella, la lista de contactos se muestra en una ventana.
Mediante el despliegue de una segunda ventana, el usuario puede escribir el
mensaje al contacto elegido, y en otra tercera puede repasar su historial de
mensajes enviados o recibidos. Cada una de estas ventanas debera estar
representada a travs de un componente Activity, de forma que navegar de una
ventana a otra implica lanzar una actividad o dormir otra.
Android permite controlar por completo el ciclo de vida de los componentes
Activity.Tal y como se puede ver en el siguiente punto, una actividad tiene un ciclo
de vida muy definido, que ser igual para todas las actividades. Este ciclo de vida
54
49
Universidad Carlos III de Madrid. Programacin en dispositivos mviles portables. Aplicaiones. [en lnea].
http://sites.google.com/site/swcuc3m/home/android/generalidades/aplicacionesandroid. [citado en 2 de
Febrero de 2012]
55
7.7.2.8 XmppService
Coleccin de API para utilizar este protocolo de intercambio de mensajes basado
en XML.
50
56
7.7.2.13 Cmara
Con esta librera podemos hacer uso de la(s) cmara(s) del dispositivo para tomar
fotografas o para grabar vdeo.
7.7.2.14 Multimedia
Permiten reproducir y visualizar audio, vdeo e imgenes en el dispositivo.
Los desarrolladores tienen acceso completo a las mismas APIs de aplicaciones
usadas por las aplicaciones base. La arquitectura est diseada para simplificar la
reutilizacin de componentes, cualquier a aplicacin puede publicar sus
capacidades y cualquier otra aplicacin puede hacer uso de esas capacidades
57
(sujeto a las reglas del framework de seguridad). Este mismo mecanismo permite
que los componentes sean remplazados por el usuario.
Todas las aplicaciones trabajan en un conjunto de servicios que incluyen: Vistas,
proveedores de contenidos, administrador de recursos, administrador de
notificaciones, administrador de actividades.51
7.7.2.15 Intent
A la hora de disear una aplicacin en Android hay que tener en cuenta su ciclo de
vida.
Un Intent consiste bsicamente en la voluntad de realizar alguna accin,
generalmente asociada a unos datos. Lanzando un Intent, una aplicacin puede
delegar el trabajo en otra, de forma que el sistema se encarga de buscar qu
aplicacin de entre las instaladas, es la que puede llevar a cabo la accin
solicitada.
Por ejemplo, abrir una URL en algn navegador web, o escribir un correo
electrnico desde algn cliente de correo. Los Intents estn incluidos en el
AndroidManifest porque describen dnde y cundo puede comenzar una actividad.
Cuando una actividad crea un Intent, ste puede tener descriptores de lo que se
quiere hacer. Una vez se est ejecutando la aplicacin, Android compara esta
informacin del Intent con los Intents de cada aplicacin, eligiendo el ms
adecuado para realizar la operacin especificada por el llamante.
51
SHANKER, Abhyudai. Android Porting Concepts. En: CSE Department Jaypee Institute of Information
technology. NOIDA, India. [base de datos en lnea]. [citado en 10 de Febrero de 2012]. Disponible en IEEE
2011
58
7.7.2.17 Service
Un componente Service representa una aplicacin ejecutada sin interfaz de
usuario, y que generalmente tiene lugar en segundo plano mientras otras
aplicaciones (stas con interfaz) son las que estn activas en la pantalla del
dispositivo.
Un ejemplo tpico de este componente es un reproductor de msica. La interfaz
del reproductor muestra al usuario las distintas canciones disponibles, as como
los tpicos botones de reproduccin, pausa, volumen, etc. En el momento en el
que el usuario reproduce una cancin, sta se escucha mientras se siguen
visualizando todas las acciones anteriores, e incluso puede ejecutar una aplicacin
distinta sin que la msica deje de sonar. La interfaz de usuario del reproductor
sera un componente Activity, pero la msica en reproduccin sera un
componente Service, porque se ejecuta en background. Este elemento est
implementado por la clase de mismo nombre Service.
No todas las aplicaciones tienen que tener los cuatro componentes, pero cualquier
aplicacin ser una combinacin de estos.
61
Para los procesos en segundo plano, existe una lista llamada LRU
(LeastRecentlyUsed). En funcin de esta lista se van eliminando los procesos; los
primeros que se eliminan son aquellos que llevan ms tiempo sin usarse. As el
sistema se asegura de mantener vivos los procesos que se han usado
recientemente.
52
Universidad Carlos III de Madrid. Programacin en dispositivos mviles portables. Aplicaiones. [en lnea].
https://sites.google.com/site/swcuc3m/home/android/generalidades/aplicacionespag2. [citado en 2 de
Febrero de 2012]
62
Cada uno de los componentes bsicos de Android tiene un ciclo de vida bien
definido; esto implica que el desarrollador puede controlar en cada momento en
qu estado se encuentra dicho componente, pudiendo as programar las acciones
que mejor convengan. El componente Activity, probablemente el ms importante,
tiene un ciclo de vida como el mostrado en la siguiente grfica.
63
Representan la parte visible del ciclo de vida. Desde onStart() hasta onStop(), la
actividad ser visible para el usuario, aunque es posible que no tenga el foco de
accin por existir otras actividades superpuestas con las que el usuario est
interactuando. Pueden ser llamados mltiples veces.
Delimitan la parte til del ciclo de vida. Desde onResume() hasta onPause(), la
actividad no slo es visible, sino que adems tiene el foco de la accin y el usuario
puede interactuar con ella.
Tal y como se ve en el diagrama de la figura anterior, el proceso que mantiene a
esta Activity puede ser eliminado cuando se encuentra en onPause() o en
onStop(), es decir, cuando no tiene el foco de la aplicacin. (Android nunca elimina
procesos con los que el usuario est interactuando en ese momento). Una vez se
elimina el proceso, el usuario desconoce dicha situacin y puede incluso volver
53
Universidad Carlos III de Madrid. Programacin en dispositivos mviles portables. Aplicaiones. [en lnea].
https://sites.google.com/site/swcuc3m/home/android/generalidades/aplicacionespag3. [citado en 2 de
Febrero de 2012]
64
7.10
MODELO DE SEGURIDAD
7.10.1 Android:name
Especificacin del permiso que se pretende conceder. Debe ser un nombre de
alguno de los listados en la clase android.Manifest.Permission.
66
7.10.2 Android:label
Una etiqueta o nombre convencional fcilmente legible para el usuario.
7.10.3 Android:permissionGroup
Determina el nivel de riesgo del permiso, y en funcin del mismo influye en como
el sistema otorga o no el permiso a la aplicacin. Oscila entre valores desde el 0
hasta el 3.
7.10.5 Android:description
7.10.6 Android:icon
67
54
68
8.4 DESARROLLO
Indicacin es para el uso de desarrollo de Android y herramientas de depuracin, y
para comprobar los resultados.
8.5 PUBLICACIN
Las instrucciones sobre cmo preparar su aplicacin para la implementacin y la
forma de publicar cuando est listo.
8.7 APNDICE
Informacin de referencia y especificaciones, as como preguntas frecuentes, un
glosario de trminos, y otra informacin.
El primer paso en la programacin para Android es la descarga del SDK (software
development kit). Despus de tener el SDK, se empieza por buscar a travs de the
Dev Guide. Si se quiere empezar por conseguir un rpido vistazo a algo de cdigo,
69
el tutorial Hola Mundo los lleva a travs de una aplicacin "Hello World" para
introducir algunos conceptos bsicos de una aplicacin Android. El documento de
Application Fundamentals es un buen lugar para comenzar a conocer los
conceptos bsicos sobre el framework de la aplicacin.
70
71
57
Android Developers. Building blocks. [en lnea]. http://developer.android.com/design/buildingblocks/index.html. [citado en 6 de Febrero de 2012]
72
8.10
DESCARGAR SDK
Android es una plataforma de software libre, por lo que cuenta con un SDK
disponible para todo desarrollador que lo desee; incluye entre otros
elementos, el conjunto completo de API que este sistema soporta. Para
descargarlo, basta con visitar la web de Android:
http://developer.android.com/sdk/index.html
8.11
58
73
8.12
DESCARGAR ECLIPSE
8.13
INSTALAR PLUG-IN
75
Grfica 6 .Add-ons
8.14
77
8.15
Es posible que con el tiempo se encuentre disponible una nueva versin del
ADT correspondiente a la versin del SDK de Android instalado. Para comprobar
las posibles actualizaciones a travs de Eclipse, se debe realizar lo siguiente:
a. Iniciar Eclipse.
b. Seleccionar la pestaa Help> Software Updates.
Esta accin abrir una nueva ventana llamada Software Updates and Add-ons.
78
8.16
79
8.17
CREAR UN PROYECTO
80
8.18
8.19
EJECUTAR LA APLICACIN
83
9. METODO CIENTIFICO
9.1 HIPOTESIS
Es posible con la recopilacin de la informacin resultara til e importante para
los desarrolladores de la regin entender y conocer el sistema operativo de
Android para el desarrollo de aplicaciones (APP) las cuales brinden soluciones
para las personas o usuarios finales?.
9.3 METODOLOGA
Como primera etapa se iniciar una recopilacin del estado del arte, utilizando
herramientas como internet, papers, artculos, noticias, libros entre otros, sobre
el sistema operativo Android para el entendimiento y comprensin de este sistema
por parte de los desarrolladores de la regin.
Como segunda etapa se realizara la descripcin de la arquitectura y su
funcionamiento con lo cual se facilitara la comprensin para el desarrollo de
aplicaciones (APP).
Como etapa final se realizara una gua en espaol, detallando la informacin sobre
el sistema operativo Android con la cual se identificara su arquitectura y el modelo
requerido para el desarrollo en este sistema, con el fin que los desarrolladores
realicen labores de programacin para la regin.
85
10. CONCLUSIONES
86
BIBLIOGRAFIA
87
[45] GARGENTA, Marko. Learning Android. Runtime. Estados Unidos. Andy Oram,
Brian Jepson, 2011. 239p. (OReilly Media) ISBN 978-1-449-39050-1
[46] GARGENTA, Marko. Learning Android. Runtime. Estados Unidos. Andy Oram,
Brian Jepson, 2011. 239p. (OReilly Media) ISBN 978-1-449-39050-1
[47] MEDNIEKS, Zigurd. DORMIN, Laird. MEIKE, Blake. NAKAMURA Masumi.
Programming Android. Dalvik. Estados Unidos. Andy Oram, Brian Jepson, 2011.
463p. (OReilly Media) ISBN 978-1-449-38969-7
[48] Universidad Carlos III de Madrid. Programacin en dispositivos mviles
portables. Aplicaiones. [en lnea].
http://sites.google.com/site/swcuc3m/home/android/generalidades/aplicacionesand
roid. [citado en 2 de Febrero de 2012]
[49] Universidad Carlos III de Madrid. Programacin en dispositivos mviles
portables. Aplicaiones. [en lnea].
http://sites.google.com/site/swcuc3m/home/android/generalidades/aplicacionesand
roid. [citado en 2 de Febrero de 2012]
[50] Androideity. Arquitectura. [en lnea].
http://androideity.com/2011/07/04/arquitectura-de-android/. [citado en 24 de
Febrero de 2012]
[51] SHANKER, Abhyudai. Android Porting Concepts. En: CSE Department
Jaypee Institute of Information technology. NOIDA, India. [base de datos en lnea].
[citado en 10 de Febrero de 2012]. Disponible en IEEE 2011
[52] Universidad Carlos III de Madrid. Programacin en dispositivos mviles
portables. Aplicaiones. [en lnea].
https://sites.google.com/site/swcuc3m/home/android/generalidades/aplicacionespa
g2. [citado en 2 de Febrero de 2012]
[53] Universidad Carlos III de Madrid. Programacin en dispositivos mviles
portables. Aplicaiones. [en lnea].
https://sites.google.com/site/swcuc3m/home/android/generalidades/aplicacionespa
g3. [citado en 2 de Febrero de 2012]
[54] Android Developers. Guide. [en lnea].
http://developer.android.com/guide/index.html. [citado en 6 de Febrero de 2012]
[55] Android Developers. Design. [en lnea].
http://developer.android.com/design/index.html. [citado en 6 de Febrero de 2012]
91
92