El documento describe la arquitectura de Android. Android incluye un sistema operativo basado en Linux, middleware como la máquina virtual Dalvik, y aplicaciones clave. El SDK de Android proporciona herramientas como el emulador y adb para desarrollar aplicaciones, así como documentación y ejemplos de código.
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.
Android
Aplicaciones clave
Middleware
Sistema Operativo (Linux Kernel 2.6)
2
5. 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.
5
6. 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.
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++.
6
7. 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.
7
8. 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.
8
9. Aplicaciones: las aplicaciones incluyen desde correo
electrónico, mensajes SMS, calendario, mapas, navegador
, manejo de contactos, entre otros.
9
12. Android SDK
El Android SDK es el conjunto de herramientas, ejemplos de
código y documentación para construir aplicaciones. Una
buena parte del mismo, en cuanto a número de archivos,
consiste de documentación con APIs de programación,
herramientas, y el resto son muestras de código.
En http://developer.android.com/index.html se puede tener
acceso a una descripción detallada de todos los elementos que
conforman Android; además de algunas utilidades adicionales.
12
13. En la pestaña SDK se explica cómo obtener el SDK, instalarlo,
integrar el ADT Plugin para Eclipse, agregar plataformas al
SDK, actualizar la documentación, obtener componentes
adicionales del SDK, e iniciarse en el desarrollo de un proyecto
de una aplicación.
13
14. En la pestaña DevGuide, del índice mencionado
anteriormente, existe la documentación para introducirse al
desarrollo de aplicaciones Android, explorar sus conceptos
subyacentes, el framework para construir una aplicación, y
las herramientas para desarrollarla, probarla, y poder
publicar software para la plataforma.
14
15. En la pestaña Reference, se tiene una guía bien
documentada de los paquetes con los que podemos trabajar.
15
16. En la pestaña Resources encontramos artículos técnicos,
tutoriales, muestras de código, así como la información
necesaria para implementar funcionalidades requeridas en
una aplicación.
En la pestaña Videos están ligas a videos acerca de la
plataforma, recomendaciones, sesiones del Google I/O, y a
entrevistas del Developer Sandbox.
En la pestaña Blog se encuentra es un sitio web
periódicamente actualizado que recopila cronológicamente
textos o artículos de uno o varios autores, apareciendo
primero el más reciente; esta herramienta permite la
interacción de desarrolladores Android de distintas
nacionalidades.
16
17. Android NDK
Como parte de las herramientas y de la documentación del
SDK está el Android NDK (Native Development Kit), con el
cual se pueden desarrollar porciones de desempeño crítico de
aplicaciones en código nativo, en C o C++.
http://developer.android.com/sdk/ndk/index.html
17
19. El SDK de Android proporciona a los desarrolladores una serie
de herramientas potentes y útiles; siendo las principales:
Posiblemente una de las herramientas más importantes que se incluyen en el SDK de
emulator.exe Android El emulador de Android es utilizado para ejecutar las aplicaciones en un pseudo-
entorno Android.
Esta herramienta permite enviar comandos al emulator.exe.
● Iniciar y detener el servidor
adb.exe
● Instalar y desinstalar aplicaciones
● Mover archivos hacia y desde el emulador
Es una herramienta muy útil si se está trabajando con una aplicación que necesita leer o
escribir archivos en o desde una tarjeta de memoria SD insertada en el dispositivo móvil.
MKSDCARD.exe
MKSDCARD.exe crea una unidad pequeña partición en el disco que contendrá y retendrá los
archivos de prueba.
Es el compilador del SDK de Android. Cuando se ejecutan los archivos de Java, DX.exe va a
DX.exe crear archivos con extensiones .dex (formato ejecutable Dalvik). Estos archivos están en el
formato correcto para ser comprendidos y ejecutados en un dispositivo Android.
Es una herramienta de línea de comandos que se utiliza para crear un entorno de desarrollo
a través de comandos. Cuando se ejecuta desde la línea de comandos, activityCreator creará
activityCreator
los archivos de Shell necesarios para crear una aplicación Android. Es especialmente útil si
(.bat or .pn)
no se está utilizando Eclipse. El plug-in para Eclipse Android establece estos archivos de
shell llamando a activityCreator cuando se crea un nuevo proyecto.
19
22. Estas aplicaciones de ejemplo son proporcionados por Google
para dar una idea rápida de cómo desarrollar aplicaciones en
Android. Cada aplicación de ejemplo muestra una parte
diferente de la funcionalidad de Android.
Es posible abrir y ejecutar estas aplicaciones desde el entorno
Eclipse.
Algunas de las aplicaciones que tenemos
como ejemplo son:
•Hello, Activity!
•Lunar Lander
•Note Pad
•Skeleton App
•Snake
22