Estructura de Android
Enviado por Anna89312 • 1 de Octubre de 2013 • Trabajo • 607 Palabras (3 Páginas) • 262 Visitas
Estructura de Android
Hoy empezaremos a aprender a programar en Android desde cero, es decir, desde cual es la estructura de android, entorno de desarrollo, estructura de proyectos en android, aplicaciones simples que irán aumentando su complejidad en cada entrada de este blog.
Android utiliza como base el kernel de Linux pero los dos sistemas no son lo mismo, Android no cuenta con un sistema nativo de ventanas de Linux ni tiene soporte para glibc (libería estándar de C); tampoco es posible utilizar la mayoría de aplicaciones de GNU de Linux.
Además de todo lo ya implementado en el kernel de Linux, Android agrega algunas cosas específicas para plataformas móviles como la comunicación entre procesos (lograda a través del binder), la forma de manejar la memoria compartida (ashmem) y la administración de energía (con wakelocks).
Este sería un esquema general de la estructura manejada en Android
El núcleo de Android está formado por el sistema operativo Linux, versión 2.6. Esta capa proporciona servicios como la seguridad, el manejo de la memoria, el multiproceso, la pila de protocolos y el soporte de drivers para dispositivos. Esta capa de del modelo actúa como capa de abstracción entre el hardware y el resto de la pila, por lo tanto, es la única que es dependiente del hardware.
El Runetime de Android esta capa esta basada el concepto de máquina virtual utilizado en Java. Debido a las limitaciones de los dispositivos donde se ejecuta Android no fue posible utilizar la máquina virtual de Java estándar. Google tomó la decisión de crear una nueva, la maquina virtual Dalvik.
La siguiente capa son las librerías nativas en C/C++ usadas en varios componentes de Android. Están compiladas en el código nativo del procesador. Muchas de las librerías utilizan proyectos de código abierto:
• WebKit: Soporta un moderno navegador web utilizado en el navegador Android y en la vista webview. Se trata de la misma librería que utiliza Google Chrome y Safari de Apple.
• System C Library: Una derivación de las librerías BSD de C estándar, adaptados para dispositivos embebidos basaos en Linux.
• Media Framework: Librería basada en PacketVideo's OpenCORE; soporta codecs de reproducción y grabación de multitud de formatos de audio, video e imagenes MPEG4, H.264, MP3, AAC, AMR, JPG y PNG.
• Surface Manger: Maneja el acceso al subsistema de representación gráfica en 2D y 3D.
• SGL: Motor de gráficos 2D.
• Librería 3D: Implementación basada en OpenGL ES 10.0 AP. Las librerías utilizan el acelerador de 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
...