También se incluye en el runtime de Android el módulo Core Libraries, con la mayoría de las librerías disponibles en el lenguaje Java.
Incluye un conjunto de librerías en C/C++ usadas en varios componentes de Android. Están compiladas en código nativo del procesador. Muchas de las librerías utilizan proyectos de código abierto. Algunas de estas librerías son:
•System C library: una derivación de la librería BSD de C estándar (libc), adaptada para dispositivos embebidos basados en Linux.
•Media Framework: librería basada en OpenCORE de PacketVideo. Soporta códecs de reproducción y grabación de multitud de formatos de audio y vídeo e imágenes MPEG4, H.264, MP3, AAC, AMR, JPG y PNG.
•Surface Manager: maneja el acceso al subsistema de representación gráfica en 2D y 3D.
•WebKit/Chromium: soporta el navegador web utilizado en Android y en la vista WebView. En la versión 4.4, WebKit ha sido reemplazada por Chromium/Blink, que es la base del navegador Chrome de Google.
•SGL: motor de gráficos 2D.
•Librerías 3D: implementación basada en OpenGL ES 1.0 API. Las librerías utilizan el acelerador hardware 3D si está disponible, o el software altamente optimizado de proyección 3D.
•FreeType: fuentes en bitmap y renderizado vectorial.
•SQLite: potente y ligero motor de bases de datos relacionales disponible para todas las aplicaciones.
•SSL: proporciona servicios de encriptación Secure Socket Layer (capa de conexión segura).
1.4.4. Entorno de aplicación
Proporciona una plataforma de desarrollo libre para aplicaciones con gran riqueza e innovaciones (sensores, localización, servicios, barra de notificaciones, etc.).
Esta capa ha sido diseñada para simplificar la reutilización de componentes. Las aplicaciones pueden publicar sus capacidades y otras pueden hacer uso de ellas (sujetas a las restricciones de seguridad). Este mismo mecanismo permite a los usuarios reemplazar componentes.
Los servicios más importantes que incluye son:
•Views: extenso conjunto de vistas (parte visual de los componentes).
•Resource Manager: proporciona acceso a recursos que no son en código.
•Activity Manager: maneja el ciclo de vida de las aplicaciones y proporciona un sistema de navegación entre ellas.
•Notification Manager: permite a las aplicaciones mostrar alertas personalizadas en la barra de estado.
•Content Providers: mecanismo sencillo para acceder a datos de otras aplicaciones (como los contactos).
Una de las mayores fortalezas del entorno de aplicación de Android es que se aprovecha el lenguaje de programación Java. El SDK de Android no acaba de ofrecer para su estándar todo lo disponible del entorno de ejecución Java (JRE), pero es compatible con una fracción muy significativa de este.
Este nivel está formado por el conjunto de aplicaciones instaladas en una máquina Android. Todas las aplicaciones han de correr en la máquina virtual Dalvik para garantizar la seguridad del sistema.
Normalmente las aplicaciones Android están escritas en Java. Para desarrollar aplicaciones en Java podemos utilizar el Android SDK. Existe otra opción consistente en desarrollar las aplicaciones utilizando C/C++. Para esta opción podemos utilizar el Android NDK (Native Development Kit).
 |
Vídeo[tutorial]: La arquitectura de Android |
 |
Preguntas de repaso: La arquitectura de Android |
Enlaces de interés: Android, iOS, tiempos de respuestas y por qué nada es gratis en sistemas informáticos (Ricardo Galli). Interesante artículo que explica varios aspectos relacionados con el funcionamiento interno del sistema operativo Android.
http://gallir.wordpress.com/2011/12/07/android-ios-tiempos-de-respuestas-y-porque-nada-es-gratis-en-sistemas- informaticos/
1.5. Instalación del entorno de desarrollo
Google ha preparado el paquete de software Android SDK, que incorpora todas las herramientas necesarias para el desarrollo de aplicaciones en Android. En él se incluye: conversor de código, depurador, librerías, emulador, documentación, ejemplos de código, etc. Todas estas herramientas son accesibles desde la línea de comandos.
No obstante, la mayoría de los desarrolladores prefieren utilizar un IDE (entorno de desarrollo integrado) que integre un editor de texto con todas las herramientas de desarrollo. Aunque no son las únicas posibilidades, las dos alternativas más recomendables son Eclipse e IntelliJ Idea. Dado que son frecuentes los problemas con el entorno de desarrollo, puede ser una buena idea instalar las dos y utilizar la que menos problemas nos dé. A continuación pasamos a describir varias alternativas para el proceso de instalación.
1.5.1. Instalación de la máquina virtual Java
Las aplicaciones Android están escritas en Java, por lo que necesitas instalar un software para ejecutar código Java en tu equipo. Este software se conoce como máquina virtual Java, entorno de ejecución Java, Java Runtime Environment (JRE) o Java Virtual Machine (JVM).
Es muy posible que ya tengas instalada la máquina virtual Java en tu equipo. Si es así, puedes pasar directamente a uno de los apartados siguientes. En caso de dudas, puedes pasar también al punto siguiente. Al concluirlo te indicará si la versión de la máquina virtual Java es incorrecta. En caso necesario, regresa a este punto para instalar una adecuada.
Para instalar la máquina virtual Java accede a http://www.java.com/es/ download/ y descarga e instala el fichero correspondiente a tu sistema operativo.
1.5.2. Instalación de ADT Bundle
Instalar los diferentes componentes del entorno de desarrollo por separado puede ser algo laborioso (se explica más adelante). Para ayudarnos en esta tarea, Google ha preparado ADT Bundle, un paquete que incluye los elementos para instalar de forma sencilla el IDE basado en Eclipse.
ADT (Android Development Toolkit) contiene:
•El entorno de desarrollo Eclipse con el plug-in ADT.
•Android SDK y herramientas de plataforma.
•Las últimas versiones de la plataforma Android.
•Emulador Android.
El paquete viene en un fichero zip de gran tamaño, el cual puede descomprimirse directamente en un directorio y ya estará listo para ejecutarse.
 |
Ejercicio: Instalación de ADT Bundle |
1.Accede a la página http://developer.android.com/sdk/index.html y pulsa en Download the SDK ADT Bundle for Windows si trabajas con Windows. Si trabajas con Linux o Mac OS, haz clic en Download for other platforms y continua desde aquí.
2.Confirma que has leído los términos y las condiciones (realmente lo has hecho, ¿verdad?) y selecciona la plataforma adecuada: 32 bits o 64 bits (si tienes dudas, puedes ir a “Sistema” en el Panel de control de Windows). Luego haz clic en Download the SDK ADT Bundle for Windows. Dependiendo de la velocidad de descarga, puedes tomar un café o ir a almorzar porque el archivo es muy grande.
3.Descomprime el archivo descargado en una carpeta de tu elección (por ejemplo, C:\Archivos de programa\). Puedes tomar otro café o dos durante el procedimiento de descompresión.
Читать дальше