martes, 29 de mayo de 2012

ROBOT KAREL


Karel el Robot es una aplicación sencilla de software que consta de un simulador de robot integrado para probar instrucciones de programación en lenguaje Karel+. Karel el Robot es comúnmente utilizado como una introducción simple a la programación para estudiantes de cómputo, pues aunque su lenguaje no es como el utilizado en realidad para programar, provee bases fuertes sobre lo que significa diseñar un programa de instrucciones aplicable a situaciones variables.
Karel el Robot es además usado oficialmente como una de las pruebas en la Olimpiada Mexicana de Informática.


PROGRAMACIÓN


En una interfaz de tipo Java, Karel el Robot puede manipular sólo diez y seis comandos básicos: move (avanzar), turnleft (vuelta izquierda), pickbeeper (recoger zumbador ), putbeeper (dejar zumbador), (kissing/code) ) y turnoff (apagar). Estas instrucciones le permiten al simulador moverse a por su entorno e interactuar .
Además tiene múltiples herramientas de dicotomía de posibilidades variables bajo condiciones diversas, como las instrucciones if(condición) (si), if(condición) instrucción; else instrucción; (si .. sino ..), while(condición)(mientras) e iterate(N) (repetir N veces).
Esta aplicacion tambien contiene el lenguaje Pascal, donde solo tiene 4 comandos basicos: avanza, gira-izquierda, coge-zumbador (beeper), y deja-zumbador (beeper), tambien cuenta con las condiciones si-entonces, mientras-hacer, repetir x veces inicio. Los dos lenguajes de programacion son aceptados en la OMI (Olimpiada Mexicana de Informatica)


Karel es un robot que vive en su propio mundo (bueno, también conozco a muchas personas que también viven en su propio mundo, pero no voy a platicar de eso hoy...). En este mundo virtual solamente existen los siguientes elementos:
  • Calles (horizontales) y avenidas (verticales) que cruzan en esquinas.
  • Paredes impenetrables que se pueden colocar entre dos esquinas.
  • Zumbadores. No sé realmente lo que son, pero son objetos que se colocan en las esquinas para que Karel los recoge y los guarde en su mochila. Siendo creativos, puedes usarlos para hacer sumas, restas, etc.


  • Karel, el héroe de la historia. Este supuesto robot (que realmente es una flecha pichurrienta, jeje) carga una mochila del tamaño del mundo entero donde puede almacenar todos los zumbadores que quiera. Siempre se encuentra orientada hacia una de cuatro direcciones (norte, sur, este u oeste, como lo dice una de las canciones favoritas de mi hija que está aquí). Consta de 3 sensores que le permita ver si hay pared o zumbador a su izquierda, derecha o al frente.


  • Comandos básicos de Karel

    Hay cinco comandos básicos para Karel, estos son:

    1. move()                      (avanza una esquina)
    2. turnleft()             (gira a la izquierda)
    3. pickbeeper()          (coge un zumbador)
    4. putbeeper()           (deja un zumpador)
    5. turnoff()                     (desconéctate)

Una de las grandes ventajas de karel es que avisa un error


ACTIVIDADES DE APREDIZAJE PARA REALIZAR LAS TAREAS DE KAREL:
1.-Descripción de la tarea del robot Karel: la tarea de karel es avanzar 6 cuadras y detenerse.
Iniciar-programa
inicia-ejecucion
avanza;
avanza;
avanza;
avanza;
avanza;
apagate;
termina-ejecucion
Finalizar-programa

2.-Descripción de la tarea del robot karel: la tarea de karel es avanzan 6 cuadras y detenerse, pero en algunas de las esquinas que va a pasar, hay un trompo que deberá levantar y dejarlo en la sexta esquina, en donde va a detenerse. 
iniciar-programa
inicia-ejecucion
avanza;
avanza;
coge-zumbador;
gira-izquierda;
gira-izquierda;
avanza;
avanza;
avanza;
deja-zumbador;
apagate;
termina-ejecucion
Finalizar-programa

3.-Descripción de la tarea del robot karel: La tarea de Karel es avanzar 10 cuadras, en cada cuadra hay dos trompos o zumbadores que deberá ir levantando; luego, que gire 180 grados y regrese al lugar de donde partió y en esa esquina dejar los 20 trompos que levanto.
iniciar-programa
inicia-ejecución
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
gira-izquierda;
gira-izquierda;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
termina-ejecucion
finalizar-programa
4.-Descripción de la tarea del robot karel: Al iniciar su tarea, Karel tiene dos posibles opciones de su direccion u orientacion, o inicia en direccion este o inicia en direccion norte.Se inicia en direccion este, entonces debe avanzar siete cuadras, y dejar un trompo o zumbador en cada cuadra durante su recorrido de siete cuadras, pero si inicia en direccion norte, entonces debe avanzar seis cuadras dejar dos trompos  en cada esquina durante su recorrido de seis cuadras.
iniciar-programa
inicia-ejecucion
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
apágate;
termina-ejecucion
finalizar-programa
5.-Descripción de la tarea del robot karel:Karel se encuentra en direccion este en el limite suroeste de la ciudad, su tarea es avanzar diez cuadras y a partir de la misma esquina en que inicia, debera dejar un trompo cada dos cuadras, si aun le quedan trompos en su mochila, debera tener cuidado porque no esta seguro si tiene suficientes trompos o zumbadores en la mochila de trompos.
iniciar-programa
inicia-ejecucion
avanza;
deja-zumbador;
deja-zumbador;
avanza;
avanza;
deja-zumbador;
deja-zumbador;
avanza;
avanza;
deja-zumbador;
deja-zumbador;
avanza;
avanza;
deja-zumbador;
deja-zumbador;
avanza;
avanza;
deja-zumbador;
apágate;
termina-ejecucion
finalizar-programa
6.-Descripción de la tarea del robot karel: La tarea de karel es darle la vuelta a un cuadrado, representado con muros o bardas, la longitud de cada lado del cuadrado es equivalente a seis cuadras, en algunas esquinas o cuadras hay de aun trompo o de a dos trompos, que debera levantar, es decir, que no en todas las cuadras, necesariamente, hay trompos, si encuentra trompos que los levante.
inicia-programa
inicia-éjecucion
avanza;
coge-zumbador;
avanza;
avanza;
avanza;
coge-zumbador;
avanza;
avanza;
avanza;
gira-izquierda;
avanza;
coge-zumbador;
avanza;
avanza;
avanza;
avanza;
coge-zumbador;
avanza;
avanza;
avanza;
coge-zumbador;
avanza;
avanza;
avanza;
avanza;
coge-zumbador;
avanza;
avanza;
coge-zumbador;
avanza;
avanza;
avanza;
coge-zumbador;
avanza;
apagate;
termina-ejecucion
finalizar-programa
7.-Descripción de la tarea del robot karel: Karel se encuentra en dirección Este, en el límite Suroeste de la ciudad, su tarea es “mientras (tenga trompos  en la mochila)” avanzar, e ir dejando un trompo en cada esquina, a partir de la misma esquina de donde arranca su tarea. Analiza la diferencia con el ejemplo anterior.
iniciar-programa
inicia-ejecucion
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
apágate;
termina-ejecucion
finalizar-programa
8.-Descripción de la tarea del robot karel: Karel se encuentra en dirección Norte, en el límite Suroeste de la ciudad, su tarea es avanzar y detenerse al llegar a una barda que esta al Norte a una distancia no conocida.
iniciar-programa
inicia-ejecucion
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
apágate;
termina-ejecucion
finalizar-programa
9.-Descripción de la tarea del robot karel: Karel se encuentra en direccion norte, en el limite suroeste de la ciudad, su tarea es avanzar y deternese al llegar a una barda que esta al norte, a una distancia no conocida, pero en el camino hacia la barda, en algunas esquinas hay montones de trompos, en cantidades variables y no conocidas que debera estar levantando, al llegar a la barda debera dejar todos los trompos que levanto y karel debe de girar a la derecha y moverse una cuadra al este.
iniciar-programa
inicia-ejecucion
avanza;
avanza;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
avanza;
avanza;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
avanza;
avanza;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
coge-zumbador;
avanza;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
avanza;
apágate;
termina-ejecucion
finalizar-programa
10.-Descripción de la tarea del robot karel: Karel se encuentra en direccion este, junto a la pared exterior de la pared mas al sur de un rectangulo de dimensiones desconocidas, la tarea de karel es darle la vuelta a las cuatro paredes externas del rectangulo, y terminar en la misma esquina de donde arranco su tarea, solo que debera quedar en direccion oeste, es decir en una direccion contraria a la direccion con que arranca su tarea. Ademas, tendra que dejar un trompo en cada esquina de solamente de las paredes verticales del rectangulo.
iniciar-programa
inicia-ejecucion
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
gira-izquierda;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
gira-izquierda;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
avanza;
gira-izquierda;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
deja-zumbador;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
apágate;
termina-ejecucion
finalizar-programa




 
11.- Descripción de la tarea del robot karel: Karel se encuentra en dirección este y a una distancia no conocida hay una barda que crece hacia al norte, a lo largo de esta barda, en algunas esquinas hay trompos que karel deberá ir levantando, y al terminar la barda deberá dejar, en esa esquina, todos los trompos que levanto, que karel gire a su izquierda y se detenga después de avanzar una cuadra.


12.- Descripción de la tarea del robot karel: La tarea de karel es recorrer el largo de una barda, hay dos trompos cada esquina, incluyendo en la que inicia karel su tarea, estos trompos deben ser levantados y dejar todos estos zumbadores en la siguiente esquina después de que termine la barda. La longitud de la barda es de 10 cuadras.
iniciar-programa
inicia-ejecucion
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
deja-zumbador;
termina-ejecucion
finalizar-programa

13.- Descripción de la tarea del robot karel: La tarea de karel es darle la vuelta a las cuatro paredes o lados externos de un cuadrado de 6 cuadras por lado e ir levantando todos los trompos, al terminar su tarea karel debe quedar en la misma esquina en que inicio pero en dirección oeste y deberá levantar los dos trompos que hay en cada esquina.


14.- Descripción de la tarea del robot karel: La tarea de karel es recorrer los cuatro lados internos del rectángulo, tomando en cuenta en cada esquina de su trayectoria hay un trompo que deberá ir levantando, incluyendo la esquina en que inicia su tarea. Al terminar el robot de recorrer los cuatro lados del rectángulo, en la misma esquina en que inicio su tarea, todos los trompos que levanto su recorrido.
iniciar-programa
inicia-ejecucion
coge-zumbador;
avanza;
coge-zumbador;
avanza;
coge-zumbador;
avanza;
coge-zumbador;
avanza;
coge-zumbador;
avanza;
coge-zumbador;
gira-izquierda;
avanza;
coge-zumbador;
avanza;
coge-zumbador;
avanza;
coge-zumbador;
avanza;
coge-zumbador;
gira-izquierda;
avanza;
coge-zumbador;
avanza;
coge-zumbador;
avanza;
coge-zumbador;
avanza;
coge-zumbador;
avanza;
coge-zumbador;
gira-izquierda;
avanza;
coge-zumbador;
avanza;
coge-zumbador;
avanza;
coge-zumbador;
avanza;
gira-izquierda;
repetir 16 veces deja-zumbador;
apagate;
termina-ejecucion
finalizar-programa
15.- Descripción de la tarea del robot karel: La tarea de karel es avanzar 15 cuadras y apagarse, ahí termina su tarea, pero, en su trayectoria, cada cinco cuadras hay una barda de una cuadra de alto, que karel debe ir saltando para poder seguir avanzando hasta completar su tarea de avanzar las 15 cuadras por la misma calle en que inicio su tarea.
iniciar-programa
inicia-ejecucion
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
gira-izquierda;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
gira-izquierda;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
gira-izquierda;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
coge-zumbador;
coge-zumbador;
avanza;
gira-izquierda;
avanza;
repetir 48 veces deja-zumbador;
gira-izquierda;
gira-izquierda;
apagate;
termina-ejecucion
finalizar-programa

iniciar-programa
inicia-ejecucion
repetir 4 veces avanza;
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
repetir 4 veces avanza;
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
repetir 4 veces avanza;
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
apagate;
termina-ejecucion
finalizar-programa
16.- Descripción de la tarea del robot karel: La tarea de karel es avanzar seis cuadras para llegar en donde inicia una escalera de siete escalones, luego subir los siete escalones de la escalera y terminar en el último escalón

 
iniciar-programa
inicia-ejecucion
repetir 5 veces avanza;
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
apagate;
termina-ejecucion
finalizar-programa
17.- Descripción de la tarea del robot karel: La tarea de karel es avanzar con una trayectoria hacia la pared del norte del rectángulo, al encontrar un trompo, karel lo deberá reflejar, en toda esa calle hacia el este, hasta llegar a la pared del este del rectángulo.
iniciar-programa
inicia-ejecucion
repetir 4 veces avanza;
repetir 3 veces gira-izquierda;
avanza;
coge-zumbador;
deja-zumbador;
avanza;
coge-zumbador;
deja-zumbador;
avanza;
coge-zumbador;
deja-zumbador;
avanza;
coge-zumbador;
deja-zumbador;
avanza;
coge-zumbador;
deja-zumbador;
avanza;
coge-zumbador;
deja-zumbador;
avanza;
coge-zumbador;
deja-zumbador;
apagate;
termina-ejecucion
finalizar-programa
 
.

Android
Android es un sistema operativo móvil basado en Linux, que junto con aplicaciones middleware está enfocado para ser utilizado en dispositivos móviles como teléfonos inteligentes, tabletas, Google TV y otros dispositivos.Es desarrollado por la Open Handset Alliance, la cual es liderada por Google. Este sistema por lo general maneja aplicaciones como Market (Marketing) o su actualización, Google Play Store.
Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en 2005.Es el principal producto de la Open Handset Alliance, un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio.Las unidades vendidas de teléfonos inteligentes con Android se ubican en el primer puesto en los Estados Unidos, en el segundo y tercer trimestres de 2010, con una cuota de mercado de 43,6% en el tercer trimestre.[]A nivel mundial alcanzó una cuota de mercado del 50,9% durante el cuarto trimestre de 2011, más del doble que el segundo sistema operativo (iOS de iPhone) con más cuota.[
La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el núcleo de las bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo de ejecución. Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz gráfica (surface manager), un framework OpenCore, una base de datos relacional SQLite, una Interfaz de programación de API gráfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico SGL, SSL y una biblioteca estándar de CBionic. El sistema operativo está compuesto por 12 millones de líneas de código, incluyendo 3 millones de líneas de XML, 2,8 millones de líneas de lenguaje C, 2,1 millones de líneas de Java y 1,75 millones de líneas de C++.
Historia
Tanto el nombre Android (androide en español) como Nexus One hacen alusión a la novela de Philip K. Dick¿Sueñan los androides con ovejas eléctricas?, que posteriormente fue adaptada al cine como Blade Runner. Tanto el libro como la película se centran en un grupo de androides llamados replicantes del modelo Nexus-6.
El logotipo es el robot "Andy".
Adquisición por parte de Google
En julio de 2005, Google adquirió Android Inc., una pequeña compañía de Palo Alto, California fundada en 2003.[24] Entre los cofundadores de Android que se fueron a trabajar a Google están Andy Rubin (co-fundador de Danger),[Rich Miner (co-fundador de Wildfire Communications, Inc.), Nick Sears (alguna vez VP en T-Mobile), y Chris White (quien encabezó el diseño y el desarrollo de la interfaz en WebTV). En aquel entonces, poco se sabía de las funciones de Android Inc. fuera de que desarrollaban software para teléfonos móviles.[ Esto dio pie a rumores de que Google estaba planeando entrar en el mercado de los teléfonos móviles.
En Google, el equipo liderado por Rubin desarrolló una plataforma para dispositivos móviles basada en el kernel de Linux que fue promocionado a fabricantes de dispositivos y operadores con la promesa de proveer un sistema flexible y actualizable. Se informó que Google había alineado ya una serie de fabricantes de hardware y software y señaló a los operadores que estaba abierto a diversos grados de cooperación por su parte.
En septiembre de 2007, «InformationWeek» difundió un estudio de Evalueserve que reportaba que Google había solicitado diversas patentes en el área de la telefonía móvil.


Características

Características y especificaciones actuales:

Diseño de dispositivo
La plataforma es adaptable a pantallas más grandes, VGA, biblioteca de gráficos 2D, biblioteca de gráficos 3D basada en las especificaciones de la OpenGL ES 2.0 y diseño de teléfonos tradicionales.
Almacenamiento
SQLite, una base de datos liviana, que es usada para propósitos de almacenamiento de datos.
Conectividad
Android soporta las siguientes tecnologías de conectividad: GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE y WiMAX.
Mensajería
SMS y MMS son formas de mensajería, incluyendo mensajería de texto y ahora la Android Cloud to Device Messaging Framework (C2DM) es parte del servicio de Push Messaging de Android.
Navegador web
El navegador web incluido en Android está basado en el motor de renderizado de código abierto WebKit, emparejado con el motor JavaScript V8 de Google Chrome. El navegador obtiene una puntuación de 93/100 en el test Acid3.
Soporte de Java
Aunque la mayoría de las aplicaciones están escritas en Java, no hay una máquina virtual Java en la plataforma. El bytecode Java no es ejecutado, sino que primero se compila en un ejecutable Dalvik y corre en la Máquina Virtual Dalvik. Dalvik es una máquina virtual especializada, diseñada específicamente para Android y optimizada para dipositivos móviles que funcionan con batería y que tienen memoria y procesador limitados. El soporte para J2ME puede ser agregado mediante aplicaciones de terceros como el J2ME MIDP Runner.[]
Soporte multimedia
Android soporta los siguientes formatos multimedia: WebM, H.263, H.264 (en 3GP o MP4), MPEG-4 SP, AMR, AMR-WB (en un contenedor 3GP), AAC, HE-AAC (en contenedores MP4 o 3GP), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF y BMP.[
Soporte para streaming
Streaming RTP/RTSP (3GPP PSS, ISMA), descarga progresiva de HTML (HTML5 <video> tag). Adobe Flash Streaming (RTMP) es soportado mediante el Adobe Flash Player. Se planea el soporte de Microsoft Smooth Streaming con el port de Silverlight a Android. Adobe Flash HTTP Dynamic Streaming estará disponible mediante una actualización de Adobe Flash Player.
Soporte para hardware adicional
Android soporta cámaras de fotos, de vídeo, pantallas táctiles, GPS, acelerómetros, giroscopios, magnetómetros, sensores de proximidad y de presión, termómetro, aceleración 2D y 3D.
Entorno de desarrollo
Incluye un emulador de dispositivos, herramientas para depuración de memoria y análisis del rendimiento del software. El entorno de desarrollo integrado es Eclipse (actualmente 3.4, 3.5 o 3.6) usando el plugin de Herramientas de Desarrollo de Android.
Google Play
Google Play es un catálogo de aplicaciones gratuitas o de pago en el que pueden ser descargadas e instaladas en dispositivos Android sin la necesidad de un PC.
Multi-táctil
Android tiene soporte nativo para pantallas multi-táctiles que inicialmente hicieron su aparición en dispositivos como el HTC Hero. La funcionalidad fue originalmente desactivada a nivel de kernel (posiblemente para evitar infringir patentes de otras compañías). Más tarde, Google publicó una actualización para el Nexus One y el Motorola Droid que activa el soporte para pantallas multi-táctiles de forma nativa.
Bluetooth
El soporte para A2DF y AVRCP fue agregado en la versión 1.5; el envío de archivos (OPP) y la exploración del directorio telefónico fueron agregados en la versión 2.0; y el marcado por voz junto con el envío de contactos entre teléfonos lo fueron en la versión 2.2.
Videollamada
Android soporta videollamada a través de Google Talk desde su versión HoneyComb.
Multitarea
Multitarea real de aplicaciones está disponible, es decir, las aplicaciones que no estén ejecutándose en primer plano reciben ciclos de reloj, a diferencia de otros sistemas de la competencia en la que la multitarea es congelada
Características basadas en voz
La búsqueda en Google a través de voz está disponible como "Entrada de Búsqueda" desde la versión inicial del sistema.
Tethering
Android soporta tethering, que permite al teléfono ser usado como un punto de acceso alámbrico o inalámbrico (todos los teléfonos desde la versión 2.2, no oficial en teléfonos con versión 1.6 o superiores mediante aplicaciones disponibles en el Android Market, por ejemplo PdaNet). Para permitir a un PC usar la conexión 3G del móvil android se podría requerir la instalación de software adicional.



HECHO POR:
                    MANUEL ALEJANDRO MARTINEZ MARTINEZ.
                    ULISES PEREDA CERVANTES.
                    DAVID PEREZ MUÑOZ.