Usuario:ManuelRomero/Introduccion

Qué es android

 * Android
 * Es una plataforma software y un Sistema Operativo basada en el núcleo de Linux.


 * De momento es aplicada a un subconjunto de dispositivos móviles y tablet;
 * Como cualquier sistema operativo permite gestionar y controlar el hardware del dispositivo, como GPS, cámara de fotos,etc;
 * También la ejecución de programas en dicho entorno.
 * Para gestionar hardware tan variado (el que pueden contener dispositivos móviles), se usan bibliotecas desarrolladas o adaptadas por principalmente por Google.
 * Para el desarrollo de aplicaciones se usa el lenguaje de programación Java

Código abierto

 * Esto quiere decir, que cualquier desarrollador puede crear y desarrollar aplicaciones escritas con lenguaje C u otros lenguajes y compilarlas a código nativo de ARM (API de Android)

Historia de Android

 * 1) Inicialmente desarrodo por Android Inc., una pequeña compañía o startup (''así se conoce a los negocios con amplias posibilidades de crecimiento el EEUU) fundada en California en 2003
 * 2) En julio de 2005, Google adquirió Android Inc.
 * 3) En diciembre de 2006 aumentó notablemente la especulación sobre que el sistema Android de Google entraría en el mercado de la telefonía móvil.
 * 4) En septiembre de 2007, se conocía que Google había solicitado diversas patentes en el área de la telefonía móvil.
 * 5) El 5 de noviembre de 2007 se creó la Open Handset Alliance, un consorcio de más de 48 compañias de software y hardware  que concluyeron la finalidad de desarrollar est´ndares abiertos para dispositivos móviles.
 * 6) La Open Handset Alliance, la OHA estrenó su primer producto, Android, una plataforma para dispositivos móviles construida sobre la versión 2.6 de Linux.
 * 7) El 9 de diciembre de 2008, se anunció que 14 nuevos miembros se unirían al proyecto Android, incluyendo PacketVideo, ARM Holdings, Atheros Communications, Asustek, Garmin, Softbank, Sony Ericsson, Toshiba, Vodafone y ZTE.

Carácterísticas de Android
2.- CARACTERÍSTICAS:


 * Almacenamiento
 * Utiliza SQLite: base de datos relacional y ligera.

GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, incluyendo A2DP, AVRCP), Wi-Fi, LTE, WiMAX
 * Conectividad : Soporta las siguietes tecnologías para conexiones
 * Mensajería
 * tanto SMS como MMS


 * Navegador Web
 * Basado en código abierte de WebKit junto con JavaScript V8 de Chrome


 * Multimedia
 * Soporte para medios con formatos comunes de audio, video e imágenes planas
 * incluye los siguientes soportes

H.263, H.264(1) ,MPEG-4 SP, AMR, AMR-WB(2), AAC, HE-AAC(1), MP3, MIDI, Ogg Vorgis, WAV, JPEG, PNG, GIF Y BMP
 * 1) En contenedor 3GP o MP4
 * 2) En contenedor 3GP
 * Soporte Harware (Siempre que el dispositivo disponga del hardware)
 * Sensor acelerómetro, cámaram brújula digital, sensor de proximidad y GPS


 * Multipantalla táctil
 * Multitarea
 * Soporte Flash:La versión 2.1 de Android soporta Flash 10.1
 * Tethering
 * Soporta el uso compartido de conexiones a Internet como un punto de acceso por cable/inalámbrico


 * Framework de aplicaciones
 * permite el reemplazo y la reutilización de los componentes.


 * Máquina virtual Dalvik
 * Base de llamadas de instancias muy similar a Java. Para entornos de desarrollo

Arquitectura de Android
Imagen:ArquitecturaAndroid.png

Arquitectura del sistema operativo Android
Consta de los siguientes niveles que posteriormente comentaremos
 * El sistema operativo Android se divide en 5 secciones de 4 niveles principales
 * 1) Nivel de aplicación
 * 2) Nivel de arquitectura  de software de la aplicación o framework de aplicaciones
 * 3) Nivel de librerías (Formado por librerías y y nivel de tiempo de ejecución de android
 * 4) Nivel de Kernel de Linux

NIVEL DE APLICACIONES
Este nivel referencia a todas las aplicaciones que se distribuyen con el sistema operativo Entre ellas tendremos seguro:
 * 1) contactos
 * 2) cliente de correo
 * 3) calendario, y algun otro servicio mínimo
 * 4) También se incluyen todas las aplicaciones que podemos descargar e instalar desde Google Play

Arquitectura : FrameWork
Para permitir a las aplicaciones acceder a datos y otros programas de aplicación para geestionar las partes que no son programa como codificación multilenguaje, fotos y efectos de sonido. para permitir a las aplicaciones notificar a la interfaz de mensajes de usuarios
 * El Framework proporciona muchas interfaces de programación
 * Esto posibilita una programación sencilla simplificando el desarrollo y reutilizando recursos
 * Todos los desarrolladores de aplicaciones Android, tienen acceso total al código fuente usado en las aplicaciones base.
 * El framework de aplicaciones proporciona las siguientes interfaces funcionales:
 * 1) Proveedor de contenido
 * 1) Gestor de recursos
 * 1) Gestor de notificaciones

Arquitectura : Librerías

 * Son librerías enlazadas de C y C++, conectadas en dos direciones
 * 1) Hacia arriba con el framework de aplicaciones
 * 2) Hacia abajo con el kernel del SO
 * La libería principal incluye las siguientes:
 * 1) Una librería de sistema C
 * 2) Una librería multimedia
 * 3) Una librería de red
 * 4) Una librería de base de datos
 * 5) Una librería de 3D
 * 6) Una librería de fuentes
 * 7) Una librería de WebKit para funcionalidades de navegación web.

Arquitectura : RunTime

 * A este nivel tenemos la librería del kernel y la máquina virtual de Dalvik
 * Android incorpora un set de librerías que aportan la mayor parte de las funcionalidades disponibles en las librerías base del lenguaje de programación Java.
 * La Máquina Virtual está basada en registros, y corre clases compiladas por el compilador de Java que anteriormente han sido transformadas al formato .dex (Dalvik Executable) por la herramienta dx.

Arquitectura: Nivel de kernel de Linux

 * Éste es el kernel sobre el que se basa Android.
 * Contienen todos los controladores de dispositivos de bajo nivel para los diversos componentes de hardware

Donde está presente Android

 * 1) Smartphones
 * 2) Tablets
 * 3) Dispositivos de libros electrónicos
 * 4) NetBooks
 * 5) Reproductores MP4
 * 6) Internet TV