News:

Que es Android?

¿QUE ES ANDROID?


Android es una plataforma de software y un sistema operativo para dispositivos móviles. Está basado en GNU/Linux e inicialmente fue desarrollado por Google. La presentación de la plataforma Android se realizó el 5 de noviembre de 2007 junto con la fundación Open Handset Alliance, un consorcio de 48 compañías de hardware, software y telecomunicaciones comprometidas a la promoción de estándares abiertos para dispositivos móviles.
Esta plataforma permite el desarrollo de aplicaciones por terceros (personas ajenas a Google), para lo cual, los desarrolladores deben de escribir código gestionado en el lenguaje de programación Java y controlar los dispositivos por medio de bibliotecas desarrolladas o adaptadas por Google. Otras opciones, es decir, escribir programas en C u otros lenguajes, utilizando o no las bibliotecas de
Google , también son posibles (compilándolas a código nativo de ARM ); sin embargo, este esquema de desarrollo no es oficialmente soportado por Google.
La mayoría del código fuente de Android ha sido publicada bajo la licencia de software Apache, una licencia de software libre y código fuente abierto

Caracteristicas

  • Framework de aplicaciones: permite reuso y reemplazo de componentes.
  • Máquina virtual Dalvik: optimizada para dispositivos móviles.
  • Navegador integrado: basado en el motor open source WebKit.
  • Gráficos optimizados, con una librería de gráficos 2D; gráficos 3D basado en la especificación OpenGL ES 1.0 (aceleración por hardware opcional).
  • SQLite para almacenamiento de datos estructurados.
  • Soporte para medios con formatos comunes de audio, video e imágenes planas (MPEG4, H.264, MP3, OGG, AAC, AMR, JPG, PNG, GIF)
  • Telefonía GSM (dependiente del hardware)
  • Bluetooth, EDGE, 3G, y WiFi (dependiente del hardware)
  • Cámara, GPS, brújula, y acelerómetro (dependiente del hardware)
  • Ambiente rico de desarrollo incluyendo un emulador de dispositivo, herramientas para depurar, perfiles de memoria y rendimiento, y un plugin para el IDE Eclipse.
  • Pantalla táctil
  • Android Market permite que los desarrolladores pongan sus aplicaciones, gratuitas o de pago, en el mercado a través de esta aplicación accesible desde todos los teléfonos con Android.

Arquitectura de Android

Los componentes principales del sistema operativo de Android, cada sección se describe en detalle:

  • Aplicaciones: Las aplicaciones base incluirán un cliente de email, programa de SMS, calendario, mapas, navegador, contactos, y otros. Todas las aplicaciones estan escritas en el lenguaje de programación Java.
  • Framework de aplicaciones: Los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura está diseñada para simplificar el reuso de componentes; cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego hacer uso de esas capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.
  • Librerías: Android incluye un set de librerías C/C++ usadas por varios componentes del sistema Android. Estas capacidades se exponen a los desarrolladores a través del framework de aplicaciones de Android. Algunas son: System C library (implementación librería C standard), librerías de medios, librerías de gráficos, 3d, SQLite, entre otras.
  • Runtime de Android: Android incluye un set de librerías base que proveen la mayor parte de las funcionalidades disponibles en las librerías base del lenguaje de programación Java. Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex), el cual está optimizado para memoria mínima. La Máquina Virtual está basada en registros, y corre clases compiladas por el compilador de Java que han sido transformadas al formato.dex por la herramienta incluida “dx”.
  • Núcleo – Linux: Android depende de un Linux versión 2.6 para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, stack de red, y modelo de drivers. El núcleo también actúa como una capa de abstracción entre el hardware y el resto del stack de software.

Framework de Aplicaciones

Todos los desarrolladores de aplicaciones Android, tienen acceso total al código fuente usado en las aplicaciones base. Esto ha sido diseñado de esta forma, para que no se generen cientos de componentes de aplicaciones distintas, que respondan a la misma acción, dando la posibilidad de que los programas sean modificados o reemplazados por cualquier usuario sin tener que empezar a programar sus aplicaciones desde el principio.

Librerias

Android incluye un conjunto de librerías escritas en C/C++, las cuales son usadas por varios componentes del sistema Android. Estas capacidades son expuestas a los desarrolladores a través del Android Application Framework [falta link]. Las principales librerías son descritas a continuación:

  • System C library: es una implementación “BSD-derived” de la “standard C system library (libc)”, que ha sido mejorada para ser incrustada en dispositivos basados en Linux.
  • Media Libraries: estas librerías permiten la reproducción y grabación de/en los formatos de audio, video y fotografía más populares. Incluye: MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. Estas librerías están basadas en “PacketVideo’s OpenCORE”.
  • Surface Manager: administra el acceso los subsistemas de pantalla y utilización de gráficos 2D y 3D desde múltiples aplicaciones.
  • LibWebCore: es un “web browser” que potencia tanto el “Android Browser” como las Web View.
  • SGL: el motor gráfico 2D subyacente al sistema.
  • 3D libraries: es una implementación basada en las “OpenGL ES 1.0 API”s. Estas librerías pueden usar tanto el hardware 3D de aceleración (si está disponible) o el “3D rasterizer” que es incluido en Android.
  • FreeType: es el “font rasterizer” para mapas de bits y vectores.
  • SQLite: es un poderoso y liviano motor de bases de datos relacionales que está disponible para todas las aplicaciones.


Offer Page 3 (Purple/Green)

Leave a Reply

Scroll To Top