SlideShare una empresa de Scribd logo
1 de 6
Android de la A a la Z
Unidad 1 “Conociendo Android”
1
Breve historia de la programación en dispositivos embebidos
Los desarrolladores de aplicaciones para celulares han sido parte de un grupo mayor de programadores
denominados desarrolladores de dispositivos embebidos; los cuales fueron considerados como menos
glamorosos que los orientados a la construcción de aplicaciones para el escritorio o, posteriormente, a la
web. Por otra parte, esos desarrolladores parecían estar condenados a bailar con la más fea, pues el
desarrollo para dispositivos embebidos al estar orientado hacia hardware y software con el mínimo de
prestaciones, documentadas pobremente por sus productores.
La mayoría de los dispositivos embebidos han ejecutado código propietario, el que conforme pasó el
tiempo y aquellos se volvieron más complejos y con mayor memoria disponible, como los primeros PDAs,
sistemas caseros de seguridad y GPSs, tuvieron que migrar hacia sistemas operativos más complejos,
robustos y estandarizados, hace poco menos de una década, bajo la forma tanto de sistemas propietarios
como abiertos, siendo entonces cuando el desarrollo de celulares generó estrategias de desarrollo de
aplicaciones propias, diferentes a las de los dispositivos embebidos. En el caso del desarrollo de
aplicaciones Android, éstas se pueden desarrollar en cualquier sistema operativo en el que esté disponible
el compilador del Android SDK.
Open Handset Alliance
La Open Handset Alliance (Alianza para los Dispositivos Móviles Abiertos) es un grupo de 65 empresas de
tecnología y móviles que se han unido para acelerar la innovación en telefonía móvil y ofrecer a los
consumidores tecnología de calidad, a buen precio y sobre todo una mejor experiencia móvil. Han
desarrollado Android™, la primera plataforma móvil completa, abierta y libre. Están comprometidos a
desplegar comercialmente teléfonos y servicios utilizando la plataforma Android. Cada una de sus
integrantes aporta a la organización y a los productos resultantes lo que tiene: propiedad intelectual,
tecnología, producción y apoyo comercial, entre otros.
Sus objetivos primordiales son:
1. Crear mejores teléfonos para los consumidores
2. Innovar desde el concepto del código abierto
3. Actuar de forma global
Lo cual beneficiaría a los consumidores con productos mejores y más baratos, así como a los propios
productores porque reparten los gastos y reducen la inversión.
¿Qué tipo de empresas están en la Open Handset Alliance?
Todas las partes del ecosistema móvil están representadas en la Open Handset Alliance. Los miembros
incluyen a operadoras de telefonía móvil, fabricantes de teléfonos móviles, compañías de semiconductores,
empresas de software y empresas de comercialización, destacando T-Mobile, Telecom Italia, Texas
Instruments, Intel, NVIDIA, HTC, LG Electronics, Motorola, eBay, Samsung y Google.
Android de la A a la Z
Unidad 1 “Conociendo Android”
2
¿Qué es Android?
Android es un stack de software para dispositivos móviles que incluye un
sistema operativo, con base en el kernel 2.6 de Linux; middleware, y
aplicaciones clave. El sistema es muy ligero y completamente equipado.
El SDK de Android provee herramientas y APIs necesarias para comenzar a
desarrollar aplicaciones en la plataforma Android, utilizando el lenguaje de
programación Java. Una plataforma de software diseñada para proveer una
experiencia de usuario personalizada para los usuarios de dispositivos
móviles. Está adaptado para ofrecer servicios web avanzados, e-mail, redes
sociales y entretenimiento a los consumidores.
Las aplicaciones de Android son desarrolladas en lenguaje Java, el que además de proporcionar los
beneficios mencionados en el capítulo 1, acepta y ejecuta aplicaciones desarrolladas en lenguaje C.
¿Qué es la máquina virtual Dalvik?
La plataforma Android emplea lenguajes de alto nivel, principalmente Java, para realizar proyectos de
programación, aunque esto no es totalmente cierto; por ejemplo, en el caso de Java si bien soporta una
buena parte de la Java Plataform, Standard Edition (Java SE) no lo hace con su Abstract Window Toolkit
(AWT) ni con Swing. El Android SDK dispone de su propio UI framework, al programar aplicaciones Android
en Java se requeriría una Java Virtual Machine (JVM) que se responsabilizara de interpretar bytecode Java
ejecutable, pues el JVM ha sido el medio para que los programas Java logren ser tan eficientes como los
diseñados con lenguajes compilados como C y C++. Esto no sucede con Android, ya que dispone de un
Android de la A a la Z
Unidad 1 “Conociendo Android”
3
medio de optimización propio, diferente al JVM; la máquina virtual (VM) Dalvik, que ejecuta archivos
compilados de clases Java a fin de superar limitaciones de dispositivos móviles relacionadas con memoria,
velocidad del procesador y energía.
En general, se supone que los dispositivos móviles estarían entre ocho y diez años atrás de sus contrapartes
en las PC de escritorio; por ejemplo, el teléfono móvil T-Mobile G1, que hacia finales de 2008 llegó al
mercado contaba con 192 MB de RAM, una tarjeta SD de 1GB, y un procesador a 528 MHz Qualcomm
MSM7201A, el cual entonces podría haberse comparado con la computadora de escritorio Dell más
económica, la cual disponía de procesador dual-core a 2.1 GHz y 2GB de RAM.
La revisión y mejora de la implementación estándar de la JVM condujo al diseño de la Dalvik VM, la cual, en
primer lugar, recibe archivos class Java y los combina en uno o más archivos Dalvik Executable (.dex),
reusando información duplicada de múltiples archivos class y reduciendo, sin compresión, sus
requerimientos de espacio aproximadamente a la mitad de lo ocupado por archivo .jar convencional. Por
ejemplo, el archivo .dex de la app del navegador en Android es de 200K, comparado con la versión
descomprimida .jar de 500K; el archivo .dex de la app del reloj de alarma es de 50K, aproximadamente la
mitad de su versión .jar.
En segundo lugar, se ha afinado la recolección de basura en la Dalvik VM, omitiendo inicialmente contar
con un compilador just-in-time (JIT), lo cual se justificó ya que las bibliotecas esenciales, core, de Android
están implementadas en C y C++, siendo poco significativa una compilación JIT. Finalmente, pero no menos
importante, la Dalvik VM emplea un tipo diferente de generación de código ensamblador, al emplear
registros como unidades primarias de almacenamiento de datos en lugar de la pila, reduciendo así un 30
por ciento el número de instrucciones.
El código ejecutable Android generado por la Dalvik VM no se apoya en bytecode Java, sino en su lugar en
archivos .dex. Lo cual significa que no se puede ejecutar Java bytecode directamente, sino iniciar con
archivos class Java y convertirlos en archivos .dex linkable. La búsqueda de una mejora en la eficiencia de
los programas Android está presente en todo su SDK, lo cual lleva a emplear ampliamente XML para definir
UI layouts, dichos archivos XML se compilan a archivos binarios antes de residir en los dispositivos,
empleándose mecanismos especiales para usar dichos datos XML.
Con la plataforma Android no sólo se ha buscado una mejor eficiencia, sino también más eficacia, al ser
más consistente con las limitaciones y posibilidades de los diferentes móviles, buscando que aplicaciones
desarrolladas para un dispositivo en particular sean transportables a cualquier otro dispositivo que utilice la
plataforma, algo que no sucede con otras plataformas, por ejemplo, la Java Plataform, Micro Edition (Java
Me), la cual dispone de dos configuraciones la Connected Device Configuration (CDC) orientada a
dispositivos de cómputo con restricciones y la Connected Limited Device Configuration (CLDC) para
dispositivos aún más restringidos, los cuales cuentan con APIs, no sólo incompatibles entre sí, sino con las
versiones Java SE y la Java EE. El enfoque que aplica Android es poder ejecutarse con base en sólo un
modelo en cualquier dispositivo móvil que cumpla con un mínimo de especificaciones.
Dalvik está diseñada para permitir ejecutar varias instancias de la máquina virtual simultáneamente,
delegando en el sistema operativo subyacente el soporte de aislamiento de procesos, gestión de memoria
Android de la A a la Z
Unidad 1 “Conociendo Android”
4
e hilos. No está alineada ni con el perfil Java SE ni con el Java ME Class Library, emplea su propia biblioteca
construida como un subconjunto de la implementación Apache Harmony.
Los programas Android se compilan en Archivos .dex (Dalvik Executable), los cuales a su vez se compactan
en un solo archive.apk (Android Package) en el dispositivo. Cada aplicación Android es compilada y
empacada en un solo archive que incluye todo el código de la aplicación (archivos .dex), así como los
recursos (archivos .res), los archivos assets, y el archivo manifest (los cuales se explican más adelante).
Es importante señalar que otro recurso importante del SDK es el USB Driver for Windows, un componente
descargable del Android SDK, el cual si se desarrolla en Windows permite conectar un dispositivo Android a
fin de probar aplicaciones. En la siguiente liga se detallan las instrucciones para instalar dicho componente.
http://developer.android.com/sdk/win-usb.html
Es importante señalar que la máquina virtual no es una JVM como se podría esperar, sino que es la
máquina virtual de Dalvik, una tecnología de código abierto. Cada aplicación Android corre dentro de una
instancia de la máquina virtual de Dalvik, que a su vez, reside en un kernel Linux gestionado proceso, como
se aprecia en la imagen.
Arquitectura del sistema operativo Android
Los componentes principales del sistema operativo Android son:
Núcleo: el núcleo está basado en el kernel 2.6 de Linux; y es responsable de administrar los controladores
de dispositivo (Keypad, WiFi, Flash Memory, Audio, etc.), el acceso a recursos y la energía, entre otras
funciones propias de un sistema operativo.
Bibliotecas nativas: Android incluye un conjunto de bibliotecas como OpenGL, WebKit, FreeType, Secure
Sockets Layer (SSL), C runtime library (libc), SQLite y librerías de medios.
Android de la A a la Z
Unidad 1 “Conociendo Android”
5
El sistema de bibliotecas está basado en la BSD (Berkeley Software Distribution) y representa
aproximadamente la mitad del tamaño de la BSD original, al ser una adaptación de Linux para dispositivos
embebidos; en su mayoría escrito en lenguaje C/C++.
La biblioteca WebKit es responsable de dar soporte al navegador, siendo la misma empleada por
Google Chrome y Safari.
Las bibliotecas de medios están basadas en PacketVideo de OpenCORE. Estas bibliotecas son
responsables de llevar a cabo la grabación y reproducción de formatos de audio y vídeo. Una
ejemplo de estás bibliotecas es el llamado Administrador de controles de superficie (Surface
Manager Controls), el cual se encarga del acceso al sistema de visualización y soporte para 2D y
3D.
La biblioteca FreeType se encarga de gestionar y controlar todo lo relacionado con las fuentes.
SQLite es una librería que implementa un manejador de base de datos SQL, el cual nos permite
incorporar bases datos en el desarrollo de las aplicaciones.
OpenGL ES (OpenGL for Embedded Systems) es una variante simplificada de la API gráfica OpenGL
diseñada para dispositivos tales como teléfonos móviles y PDAs. Con ella se escriben aplicaciones
que produzcan gráficos 2D y 3D; está formada por decenas de funciones las cuales pueden usarse
para crear escenas tridimensionales o figuras tan simples como líneas y triángulos.
Runtime de Android: Android busca la independencia del hardware mediante el empleo de un intérprete
de bytecode para ejecutar sus aplicaciones, es por ello que utiliza la máquina virtual Dalvik, la cual funciona
como una puerta de entrada a la plataforma Android. La máquina virtual Dalvik es compatible con el Java
SE Development Kit (JDK), pero optimizada para Android.
Framework de aplicaciones: se compone de clases Java que proporcionan funciones de aplicación, tales
como la gestión de ventanas, mostrar el contenido de la ventana, aplicación de mensajería y control de las
llamadas telefónicas; el código fuente está disponible y es posible modificar estas clases para ampliar sus
capacidades o modificar su comportamiento.
Aplicaciones: las aplicaciones incluyen desde correo electrónico, mensajes SMS, calendario, mapas,
navegador y manejo de contactos, entre otros.
Android de la A a la Z
Unidad 1 “Conociendo Android”
6

Más contenido relacionado

La actualidad más candente

"Android de la A a la Z" -- Introducción
"Android de la A a la Z" -- Introducción"Android de la A a la Z" -- Introducción
"Android de la A a la Z" -- IntroducciónAndroid UNAM
 
"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4Android UNAM
 
"Android de la A a la Z" -- Unidad 6
"Android de la A a la Z" -- Unidad 6"Android de la A a la Z" -- Unidad 6
"Android de la A a la Z" -- Unidad 6Android UNAM
 
"Android de la A a la Z" -- Unidad 8
"Android de la A a la Z" -- Unidad 8"Android de la A a la Z" -- Unidad 8
"Android de la A a la Z" -- Unidad 8Android UNAM
 
"Android de la A a la Z" -- Unidad 2
"Android de la A a la Z" -- Unidad 2"Android de la A a la Z" -- Unidad 2
"Android de la A a la Z" -- Unidad 2Android UNAM
 
Android y leopard
Android y leopardAndroid y leopard
Android y leopardombligo10
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en androidKarla Silva
 
Jose david arango correa tecnologia android
Jose david arango correa tecnologia androidJose david arango correa tecnologia android
Jose david arango correa tecnologia androidjosearango678
 
trabajo Android
trabajo Androidtrabajo Android
trabajo Android3104359589
 
Tecnología android
Tecnología androidTecnología android
Tecnología androidValeGmz
 

La actualidad más candente (16)

"Android de la A a la Z" -- Introducción
"Android de la A a la Z" -- Introducción"Android de la A a la Z" -- Introducción
"Android de la A a la Z" -- Introducción
 
Sistema android
Sistema androidSistema android
Sistema android
 
"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4
 
"Android de la A a la Z" -- Unidad 6
"Android de la A a la Z" -- Unidad 6"Android de la A a la Z" -- Unidad 6
"Android de la A a la Z" -- Unidad 6
 
Android
AndroidAndroid
Android
 
Android
AndroidAndroid
Android
 
"Android de la A a la Z" -- Unidad 8
"Android de la A a la Z" -- Unidad 8"Android de la A a la Z" -- Unidad 8
"Android de la A a la Z" -- Unidad 8
 
"Android de la A a la Z" -- Unidad 2
"Android de la A a la Z" -- Unidad 2"Android de la A a la Z" -- Unidad 2
"Android de la A a la Z" -- Unidad 2
 
Android y leopard
Android y leopardAndroid y leopard
Android y leopard
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en android
 
Jose david arango correa tecnologia android
Jose david arango correa tecnologia androidJose david arango correa tecnologia android
Jose david arango correa tecnologia android
 
Android
AndroidAndroid
Android
 
Android
AndroidAndroid
Android
 
Mi colegio por siempre
Mi colegio por siempreMi colegio por siempre
Mi colegio por siempre
 
trabajo Android
trabajo Androidtrabajo Android
trabajo Android
 
Tecnología android
Tecnología androidTecnología android
Tecnología android
 

Destacado

Group 4 final final presentation
Group 4   final final presentation Group 4   final final presentation
Group 4 final final presentation David Park
 
Digital magazine comparative forms and superlative forms
Digital magazine comparative forms and superlative formsDigital magazine comparative forms and superlative forms
Digital magazine comparative forms and superlative formsWiil Brize
 
Breast Cancer Awareness Month
Breast Cancer Awareness Month Breast Cancer Awareness Month
Breast Cancer Awareness Month MyriadGenetics
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsBarry Feldman
 

Destacado (6)

Group 4 final final presentation
Group 4   final final presentation Group 4   final final presentation
Group 4 final final presentation
 
Digital magazine comparative forms and superlative forms
Digital magazine comparative forms and superlative formsDigital magazine comparative forms and superlative forms
Digital magazine comparative forms and superlative forms
 
Sgp4 26
Sgp4 26Sgp4 26
Sgp4 26
 
Breast Cancer Awareness Month
Breast Cancer Awareness Month Breast Cancer Awareness Month
Breast Cancer Awareness Month
 
Breast Cancer
Breast CancerBreast Cancer
Breast Cancer
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 

Similar a Android de la A a la Z - Unidad 1

Arquitectura android
Arquitectura androidArquitectura android
Arquitectura androidalerop
 
Introducción a la programación androide
Introducción a la programación androideIntroducción a la programación androide
Introducción a la programación androideJomicast
 
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
Android de la A a la Z  PARTE 2 de 3 ulises gonzalezAndroid de la A a la Z  PARTE 2 de 3 ulises gonzalez
Android de la A a la Z PARTE 2 de 3 ulises gonzalezAndroid UNAM
 
Tecnología androide
Tecnología androideTecnología androide
Tecnología androideMishelle Ruiz
 
Tecnología androide
Tecnología androideTecnología androide
Tecnología androideMishelle Ruiz
 
Unidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con androidUnidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con androidLorena García Arnau
 
Android
AndroidAndroid
AndroidCOECYS
 
Terminado,sistmas operativos
Terminado,sistmas operativosTerminado,sistmas operativos
Terminado,sistmas operativosJoseteMarta11
 
Android y samsung
Android y samsungAndroid y samsung
Android y samsungzeuss15
 
Seminario Android (Parte 1) - movilforum
Seminario Android (Parte 1) - movilforumSeminario Android (Parte 1) - movilforum
Seminario Android (Parte 1) - movilforumvideos
 
Componentes para programar en android
Componentes para programar en androidComponentes para programar en android
Componentes para programar en androidJessarin Kitty Cosmic
 
Sistemas operativos-moviles-terminado
Sistemas operativos-moviles-terminadoSistemas operativos-moviles-terminado
Sistemas operativos-moviles-terminadoJhon Condori
 
Diapositiva sobre android
Diapositiva sobre androidDiapositiva sobre android
Diapositiva sobre androidpexoxaprincess
 

Similar a Android de la A a la Z - Unidad 1 (20)

Arquitectura android
Arquitectura androidArquitectura android
Arquitectura android
 
Androidoriiginal
AndroidoriiginalAndroidoriiginal
Androidoriiginal
 
Android
AndroidAndroid
Android
 
Android p
Android pAndroid p
Android p
 
Android
AndroidAndroid
Android
 
Introducción a la programación androide
Introducción a la programación androideIntroducción a la programación androide
Introducción a la programación androide
 
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
Android de la A a la Z  PARTE 2 de 3 ulises gonzalezAndroid de la A a la Z  PARTE 2 de 3 ulises gonzalez
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
 
Tecnología androide
Tecnología androideTecnología androide
Tecnología androide
 
Tecnología androide
Tecnología androideTecnología androide
Tecnología androide
 
Unidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con androidUnidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con android
 
Android
AndroidAndroid
Android
 
android evolution
android evolutionandroid evolution
android evolution
 
Terminado,sistmas operativos
Terminado,sistmas operativosTerminado,sistmas operativos
Terminado,sistmas operativos
 
App inventor
App inventorApp inventor
App inventor
 
Android y samsung
Android y samsungAndroid y samsung
Android y samsung
 
Seminario Android (Parte 1) - movilforum
Seminario Android (Parte 1) - movilforumSeminario Android (Parte 1) - movilforum
Seminario Android (Parte 1) - movilforum
 
Taller de Android
Taller de AndroidTaller de Android
Taller de Android
 
Componentes para programar en android
Componentes para programar en androidComponentes para programar en android
Componentes para programar en android
 
Sistemas operativos-moviles-terminado
Sistemas operativos-moviles-terminadoSistemas operativos-moviles-terminado
Sistemas operativos-moviles-terminado
 
Diapositiva sobre android
Diapositiva sobre androidDiapositiva sobre android
Diapositiva sobre android
 

Más de Jorge Ulises

Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9Jorge Ulises
 
Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8Jorge Ulises
 
Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Jorge Ulises
 
Android de la A a la Z - Unidad 6
Android de la A a la Z - Unidad 6Android de la A a la Z - Unidad 6
Android de la A a la Z - Unidad 6Jorge Ulises
 
Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Jorge Ulises
 
Android de la A a la Z - Unidad 3
Android de la A a la Z - Unidad 3Android de la A a la Z - Unidad 3
Android de la A a la Z - Unidad 3Jorge Ulises
 
Android de la A a la Z - Unidad 2
Android de la A a la Z - Unidad 2Android de la A a la Z - Unidad 2
Android de la A a la Z - Unidad 2Jorge Ulises
 
Android de la A a la Z - Introducción
Android de la A a la Z - IntroducciónAndroid de la A a la Z - Introducción
Android de la A a la Z - IntroducciónJorge Ulises
 
Android de la A a la Z - Unidad 11
Android de la A a la Z - Unidad 11Android de la A a la Z - Unidad 11
Android de la A a la Z - Unidad 11Jorge Ulises
 
Oracle spatial de la A a la Z - INTRO
Oracle spatial de la A a la Z - INTROOracle spatial de la A a la Z - INTRO
Oracle spatial de la A a la Z - INTROJorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 9
Oracle Spatial de la A a la Z - Unidad 9Oracle Spatial de la A a la Z - Unidad 9
Oracle Spatial de la A a la Z - Unidad 9Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 7
Oracle Spatial de la A a la Z - Unidad 7Oracle Spatial de la A a la Z - Unidad 7
Oracle Spatial de la A a la Z - Unidad 7Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 5
Oracle Spatial de la A a la Z - Unidad 5Oracle Spatial de la A a la Z - Unidad 5
Oracle Spatial de la A a la Z - Unidad 5Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 10
Oracle Spatial de la A a la Z - Unidad 10Oracle Spatial de la A a la Z - Unidad 10
Oracle Spatial de la A a la Z - Unidad 10Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 3
Oracle Spatial de la A a la Z - Unidad 3Oracle Spatial de la A a la Z - Unidad 3
Oracle Spatial de la A a la Z - Unidad 3Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 2
Oracle Spatial de la A a la Z - Unidad 2Oracle Spatial de la A a la Z - Unidad 2
Oracle Spatial de la A a la Z - Unidad 2Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 4
Oracle Spatial de la A a la Z - Unidad 4Oracle Spatial de la A a la Z - Unidad 4
Oracle Spatial de la A a la Z - Unidad 4Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1Jorge Ulises
 

Más de Jorge Ulises (20)

Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9
 
Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8
 
Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7
 
Android de la A a la Z - Unidad 6
Android de la A a la Z - Unidad 6Android de la A a la Z - Unidad 6
Android de la A a la Z - Unidad 6
 
Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5
 
Android de la A a la Z - Unidad 3
Android de la A a la Z - Unidad 3Android de la A a la Z - Unidad 3
Android de la A a la Z - Unidad 3
 
Android de la A a la Z - Unidad 2
Android de la A a la Z - Unidad 2Android de la A a la Z - Unidad 2
Android de la A a la Z - Unidad 2
 
Android de la A a la Z - Introducción
Android de la A a la Z - IntroducciónAndroid de la A a la Z - Introducción
Android de la A a la Z - Introducción
 
Android de la A a la Z - Unidad 11
Android de la A a la Z - Unidad 11Android de la A a la Z - Unidad 11
Android de la A a la Z - Unidad 11
 
Oracle spatial de la A a la Z - INTRO
Oracle spatial de la A a la Z - INTROOracle spatial de la A a la Z - INTRO
Oracle spatial de la A a la Z - INTRO
 
Oracle Spatial de la A a la Z - Unidad 9
Oracle Spatial de la A a la Z - Unidad 9Oracle Spatial de la A a la Z - Unidad 9
Oracle Spatial de la A a la Z - Unidad 9
 
Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8
 
Oracle Spatial de la A a la Z - Unidad 7
Oracle Spatial de la A a la Z - Unidad 7Oracle Spatial de la A a la Z - Unidad 7
Oracle Spatial de la A a la Z - Unidad 7
 
Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6
 
Oracle Spatial de la A a la Z - Unidad 5
Oracle Spatial de la A a la Z - Unidad 5Oracle Spatial de la A a la Z - Unidad 5
Oracle Spatial de la A a la Z - Unidad 5
 
Oracle Spatial de la A a la Z - Unidad 10
Oracle Spatial de la A a la Z - Unidad 10Oracle Spatial de la A a la Z - Unidad 10
Oracle Spatial de la A a la Z - Unidad 10
 
Oracle Spatial de la A a la Z - Unidad 3
Oracle Spatial de la A a la Z - Unidad 3Oracle Spatial de la A a la Z - Unidad 3
Oracle Spatial de la A a la Z - Unidad 3
 
Oracle Spatial de la A a la Z - Unidad 2
Oracle Spatial de la A a la Z - Unidad 2Oracle Spatial de la A a la Z - Unidad 2
Oracle Spatial de la A a la Z - Unidad 2
 
Oracle Spatial de la A a la Z - Unidad 4
Oracle Spatial de la A a la Z - Unidad 4Oracle Spatial de la A a la Z - Unidad 4
Oracle Spatial de la A a la Z - Unidad 4
 
Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1
 

Último

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 

Último (20)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 

Android de la A a la Z - Unidad 1

  • 1. Android de la A a la Z Unidad 1 “Conociendo Android” 1 Breve historia de la programación en dispositivos embebidos Los desarrolladores de aplicaciones para celulares han sido parte de un grupo mayor de programadores denominados desarrolladores de dispositivos embebidos; los cuales fueron considerados como menos glamorosos que los orientados a la construcción de aplicaciones para el escritorio o, posteriormente, a la web. Por otra parte, esos desarrolladores parecían estar condenados a bailar con la más fea, pues el desarrollo para dispositivos embebidos al estar orientado hacia hardware y software con el mínimo de prestaciones, documentadas pobremente por sus productores. La mayoría de los dispositivos embebidos han ejecutado código propietario, el que conforme pasó el tiempo y aquellos se volvieron más complejos y con mayor memoria disponible, como los primeros PDAs, sistemas caseros de seguridad y GPSs, tuvieron que migrar hacia sistemas operativos más complejos, robustos y estandarizados, hace poco menos de una década, bajo la forma tanto de sistemas propietarios como abiertos, siendo entonces cuando el desarrollo de celulares generó estrategias de desarrollo de aplicaciones propias, diferentes a las de los dispositivos embebidos. En el caso del desarrollo de aplicaciones Android, éstas se pueden desarrollar en cualquier sistema operativo en el que esté disponible el compilador del Android SDK. Open Handset Alliance La Open Handset Alliance (Alianza para los Dispositivos Móviles Abiertos) es un grupo de 65 empresas de tecnología y móviles que se han unido para acelerar la innovación en telefonía móvil y ofrecer a los consumidores tecnología de calidad, a buen precio y sobre todo una mejor experiencia móvil. Han desarrollado Android™, la primera plataforma móvil completa, abierta y libre. Están comprometidos a desplegar comercialmente teléfonos y servicios utilizando la plataforma Android. Cada una de sus integrantes aporta a la organización y a los productos resultantes lo que tiene: propiedad intelectual, tecnología, producción y apoyo comercial, entre otros. Sus objetivos primordiales son: 1. Crear mejores teléfonos para los consumidores 2. Innovar desde el concepto del código abierto 3. Actuar de forma global Lo cual beneficiaría a los consumidores con productos mejores y más baratos, así como a los propios productores porque reparten los gastos y reducen la inversión. ¿Qué tipo de empresas están en la Open Handset Alliance? Todas las partes del ecosistema móvil están representadas en la Open Handset Alliance. Los miembros incluyen a operadoras de telefonía móvil, fabricantes de teléfonos móviles, compañías de semiconductores, empresas de software y empresas de comercialización, destacando T-Mobile, Telecom Italia, Texas Instruments, Intel, NVIDIA, HTC, LG Electronics, Motorola, eBay, Samsung y Google.
  • 2. Android de la A a la Z Unidad 1 “Conociendo Android” 2 ¿Qué es Android? Android es un stack de software para dispositivos móviles que incluye un sistema operativo, con base en el kernel 2.6 de Linux; middleware, y aplicaciones clave. El sistema es muy ligero y completamente equipado. El SDK de Android provee herramientas y APIs necesarias para comenzar a desarrollar aplicaciones en la plataforma Android, utilizando el lenguaje de programación Java. Una plataforma de software diseñada para proveer una experiencia de usuario personalizada para los usuarios de dispositivos móviles. Está adaptado para ofrecer servicios web avanzados, e-mail, redes sociales y entretenimiento a los consumidores. Las aplicaciones de Android son desarrolladas en lenguaje Java, el que además de proporcionar los beneficios mencionados en el capítulo 1, acepta y ejecuta aplicaciones desarrolladas en lenguaje C. ¿Qué es la máquina virtual Dalvik? La plataforma Android emplea lenguajes de alto nivel, principalmente Java, para realizar proyectos de programación, aunque esto no es totalmente cierto; por ejemplo, en el caso de Java si bien soporta una buena parte de la Java Plataform, Standard Edition (Java SE) no lo hace con su Abstract Window Toolkit (AWT) ni con Swing. El Android SDK dispone de su propio UI framework, al programar aplicaciones Android en Java se requeriría una Java Virtual Machine (JVM) que se responsabilizara de interpretar bytecode Java ejecutable, pues el JVM ha sido el medio para que los programas Java logren ser tan eficientes como los diseñados con lenguajes compilados como C y C++. Esto no sucede con Android, ya que dispone de un
  • 3. Android de la A a la Z Unidad 1 “Conociendo Android” 3 medio de optimización propio, diferente al JVM; la máquina virtual (VM) Dalvik, que ejecuta archivos compilados de clases Java a fin de superar limitaciones de dispositivos móviles relacionadas con memoria, velocidad del procesador y energía. En general, se supone que los dispositivos móviles estarían entre ocho y diez años atrás de sus contrapartes en las PC de escritorio; por ejemplo, el teléfono móvil T-Mobile G1, que hacia finales de 2008 llegó al mercado contaba con 192 MB de RAM, una tarjeta SD de 1GB, y un procesador a 528 MHz Qualcomm MSM7201A, el cual entonces podría haberse comparado con la computadora de escritorio Dell más económica, la cual disponía de procesador dual-core a 2.1 GHz y 2GB de RAM. La revisión y mejora de la implementación estándar de la JVM condujo al diseño de la Dalvik VM, la cual, en primer lugar, recibe archivos class Java y los combina en uno o más archivos Dalvik Executable (.dex), reusando información duplicada de múltiples archivos class y reduciendo, sin compresión, sus requerimientos de espacio aproximadamente a la mitad de lo ocupado por archivo .jar convencional. Por ejemplo, el archivo .dex de la app del navegador en Android es de 200K, comparado con la versión descomprimida .jar de 500K; el archivo .dex de la app del reloj de alarma es de 50K, aproximadamente la mitad de su versión .jar. En segundo lugar, se ha afinado la recolección de basura en la Dalvik VM, omitiendo inicialmente contar con un compilador just-in-time (JIT), lo cual se justificó ya que las bibliotecas esenciales, core, de Android están implementadas en C y C++, siendo poco significativa una compilación JIT. Finalmente, pero no menos importante, la Dalvik VM emplea un tipo diferente de generación de código ensamblador, al emplear registros como unidades primarias de almacenamiento de datos en lugar de la pila, reduciendo así un 30 por ciento el número de instrucciones. El código ejecutable Android generado por la Dalvik VM no se apoya en bytecode Java, sino en su lugar en archivos .dex. Lo cual significa que no se puede ejecutar Java bytecode directamente, sino iniciar con archivos class Java y convertirlos en archivos .dex linkable. La búsqueda de una mejora en la eficiencia de los programas Android está presente en todo su SDK, lo cual lleva a emplear ampliamente XML para definir UI layouts, dichos archivos XML se compilan a archivos binarios antes de residir en los dispositivos, empleándose mecanismos especiales para usar dichos datos XML. Con la plataforma Android no sólo se ha buscado una mejor eficiencia, sino también más eficacia, al ser más consistente con las limitaciones y posibilidades de los diferentes móviles, buscando que aplicaciones desarrolladas para un dispositivo en particular sean transportables a cualquier otro dispositivo que utilice la plataforma, algo que no sucede con otras plataformas, por ejemplo, la Java Plataform, Micro Edition (Java Me), la cual dispone de dos configuraciones la Connected Device Configuration (CDC) orientada a dispositivos de cómputo con restricciones y la Connected Limited Device Configuration (CLDC) para dispositivos aún más restringidos, los cuales cuentan con APIs, no sólo incompatibles entre sí, sino con las versiones Java SE y la Java EE. El enfoque que aplica Android es poder ejecutarse con base en sólo un modelo en cualquier dispositivo móvil que cumpla con un mínimo de especificaciones. Dalvik está diseñada para permitir ejecutar varias instancias de la máquina virtual simultáneamente, delegando en el sistema operativo subyacente el soporte de aislamiento de procesos, gestión de memoria
  • 4. Android de la A a la Z Unidad 1 “Conociendo Android” 4 e hilos. No está alineada ni con el perfil Java SE ni con el Java ME Class Library, emplea su propia biblioteca construida como un subconjunto de la implementación Apache Harmony. Los programas Android se compilan en Archivos .dex (Dalvik Executable), los cuales a su vez se compactan en un solo archive.apk (Android Package) en el dispositivo. Cada aplicación Android es compilada y empacada en un solo archive que incluye todo el código de la aplicación (archivos .dex), así como los recursos (archivos .res), los archivos assets, y el archivo manifest (los cuales se explican más adelante). Es importante señalar que otro recurso importante del SDK es el USB Driver for Windows, un componente descargable del Android SDK, el cual si se desarrolla en Windows permite conectar un dispositivo Android a fin de probar aplicaciones. En la siguiente liga se detallan las instrucciones para instalar dicho componente. http://developer.android.com/sdk/win-usb.html Es importante señalar que la máquina virtual no es una JVM como se podría esperar, sino que es la máquina virtual de Dalvik, una tecnología de código abierto. Cada aplicación Android corre dentro de una instancia de la máquina virtual de Dalvik, que a su vez, reside en un kernel Linux gestionado proceso, como se aprecia en la imagen. Arquitectura del sistema operativo Android Los componentes principales del sistema operativo Android son: Núcleo: el núcleo está basado en el kernel 2.6 de Linux; y es responsable de administrar los controladores de dispositivo (Keypad, WiFi, Flash Memory, Audio, etc.), el acceso a recursos y la energía, entre otras funciones propias de un sistema operativo. Bibliotecas nativas: Android incluye un conjunto de bibliotecas como OpenGL, WebKit, FreeType, Secure Sockets Layer (SSL), C runtime library (libc), SQLite y librerías de medios.
  • 5. Android de la A a la Z Unidad 1 “Conociendo Android” 5 El sistema de bibliotecas está basado en la BSD (Berkeley Software Distribution) y representa aproximadamente la mitad del tamaño de la BSD original, al ser una adaptación de Linux para dispositivos embebidos; en su mayoría escrito en lenguaje C/C++. La biblioteca WebKit es responsable de dar soporte al navegador, siendo la misma empleada por Google Chrome y Safari. Las bibliotecas de medios están basadas en PacketVideo de OpenCORE. Estas bibliotecas son responsables de llevar a cabo la grabación y reproducción de formatos de audio y vídeo. Una ejemplo de estás bibliotecas es el llamado Administrador de controles de superficie (Surface Manager Controls), el cual se encarga del acceso al sistema de visualización y soporte para 2D y 3D. La biblioteca FreeType se encarga de gestionar y controlar todo lo relacionado con las fuentes. SQLite es una librería que implementa un manejador de base de datos SQL, el cual nos permite incorporar bases datos en el desarrollo de las aplicaciones. OpenGL ES (OpenGL for Embedded Systems) es una variante simplificada de la API gráfica OpenGL diseñada para dispositivos tales como teléfonos móviles y PDAs. Con ella se escriben aplicaciones que produzcan gráficos 2D y 3D; está formada por decenas de funciones las cuales pueden usarse para crear escenas tridimensionales o figuras tan simples como líneas y triángulos. Runtime de Android: Android busca la independencia del hardware mediante el empleo de un intérprete de bytecode para ejecutar sus aplicaciones, es por ello que utiliza la máquina virtual Dalvik, la cual funciona como una puerta de entrada a la plataforma Android. La máquina virtual Dalvik es compatible con el Java SE Development Kit (JDK), pero optimizada para Android. Framework de aplicaciones: se compone de clases Java que proporcionan funciones de aplicación, tales como la gestión de ventanas, mostrar el contenido de la ventana, aplicación de mensajería y control de las llamadas telefónicas; el código fuente está disponible y es posible modificar estas clases para ampliar sus capacidades o modificar su comportamiento. Aplicaciones: las aplicaciones incluyen desde correo electrónico, mensajes SMS, calendario, mapas, navegador y manejo de contactos, entre otros.
  • 6. Android de la A a la Z Unidad 1 “Conociendo Android” 6