Bizcocho de jengibre

La plataforma de Android 2.3 presenta muchas funciones nuevas y emocionantes para los usuarios y desarrolladores. En este documento, se ofrece una vista previa de algunas de las funciones y tecnologías nuevas de Android 2.3. Para obtener información detallada sobre las nuevas APIs de desarrollador, consulta las notas de la versión de Android 2.3.

Nuevas funciones de usuario

Mejoras en la IU para lograr simplicidad y velocidad

La interfaz de usuario se perfecciona de muchas maneras en todo el sistema, lo que hace que sea más fácil de aprender, más rápida de usar y más eficiente en términos de energía. Un tema visual simplificado de colores sobre el negro aporta intensidad y contraste a la barra de notificaciones, los menús y otras partes de la IU. Los cambios en los menús y la configuración facilitan la navegación y el control de las funciones del sistema y del dispositivo para el usuario.

Entrada de texto más intuitiva y rápida

Se rediseñó y optimizó el teclado en pantalla de Android para ingresar y editar texto más rápido. Las teclas se reforman y se ubican para mejorar la orientación, lo que facilita verlas y presionarlas con precisión, incluso a altas velocidades. El teclado también muestra las sugerencias de caracteres y diccionarios actuales en un estilo más grande y vívido que es más fácil de leer.

El teclado agrega la capacidad de corregir las palabras ingresadas a partir de sugerencias del diccionario. A medida que el usuario selecciona una palabra que ya ingresó, el teclado muestra sugerencias que el usuario puede elegir para reemplazar la selección. El usuario también puede cambiar al modo de entrada de voz para reemplazar la selección. Las sugerencias inteligentes permiten que el usuario acepte una sugerencia y, si es necesario, vuelva a corregirla desde el conjunto original de sugerencias.

La nueva combinación de teclas multitáctil permite que el usuario ingrese números y símbolos rápidamente presionando Mayúsculas +<letra> y ?123+<símbolo>, sin necesidad de cambiar de modo de entrada de forma manual. Desde ciertas teclas, los usuarios también pueden acceder a un menú emergente de caracteres, números y símbolos acentuados si mantienen presionada la tecla y deslizan la pantalla para seleccionar un carácter.

Selección de palabras con un toque y copia y pega

Cuando el usuario ingresa texto o visualiza una página web, puede mantener presionada una palabra para seleccionarla rápidamente y, luego, copiarla en el portapapeles y pegarla. Cuando se presiona una palabra, se ingresa a un modo de selección libre: el usuario puede ajustar el área de selección según sea necesario arrastrando un conjunto de flechas de límite a posiciones nuevas y, luego, copiando el área limitada presionando en cualquier parte del área de selección. En el caso de la entrada de texto, el usuario puede deslizar el dedo y presionarlo para ingresar al modo de cursor y, luego, cambiar la posición del cursor de manera fácil y precisa arrastrando la flecha del cursor. Tanto con el modo de selección como con el modo de cursor, no es necesario usar una bola de seguimiento.

Mejora en la administración de la energía

El sistema Android asume un rol más activo en la administración de las apps que mantienen activo el dispositivo durante demasiado tiempo o que consumen CPU mientras se ejecutan en segundo plano. Con la administración de esas apps (cierres, si corresponde), el sistema ayuda a garantizar el mejor rendimiento posible y la máxima duración de batería.

El sistema también le brinda al usuario más visibilidad sobre la energía que consumen los componentes del sistema y las apps en ejecución. La Configuración de la aplicación proporciona una descripción general precisa de cómo se usa la batería, con detalles del uso y la energía relativa que consume cada componente o aplicación.

Control de las aplicaciones

Ahora aparece un acceso directo al control Administrar aplicaciones en el Menú de opciones de la pantalla principal y el Selector, lo que facilita verificar y administrar la actividad de la aplicación. Una vez que el usuario ingresa a Administrar aplicaciones, aparece una pestaña nueva en ejecución con una lista de aplicaciones activas y el almacenamiento y la memoria que usa cada una. El usuario puede leer más detalles sobre cada aplicación y, si es necesario, detenerla o informar comentarios a su desarrollador.

Nuevas formas de comunicarse y organizarse

Un conjunto actualizado de aplicaciones estándar permite al usuario adoptar nuevos enfoques para administrar la información y las relaciones.


Llamadas por Internet

El usuario puede realizar llamadas de voz por Internet a otros usuarios que tengan cuentas SIP. El usuario puede agregar un número de llamada por Internet (una dirección SIP) a cualquier Contacto y puede iniciar una llamada desde Contacto rápido o Teléfono. Para usar las llamadas por Internet, el usuario debe crear una cuenta en el proveedor de SIP que elija. Las cuentas SIP no se proporcionan como parte de la función de llamadas por Internet. Además, los fabricantes y los operadores asociados determinan la compatibilidad con las funciones de llamadas por Internet y SIP de la plataforma en dispositivos específicos.

Comunicaciones de campo cercano

Una aplicación de lector de NFC permite que el usuario lea etiquetas de comunicación de campo cercano (NFC) e interactúe con ellas. Por ejemplo, el usuario puede "tocar" o "deslizar" una etiqueta NFC que podría estar incorporada en un póster, una calcomanía o un anuncio y, luego, actuar sobre los datos leídos de la etiqueta. Un uso típico sería leer una etiqueta en un restaurante, una tienda o un evento y, luego, calificar o registrarse saltando a un sitio web cuya URL esté incluida en los datos de la etiqueta. La comunicación NFC se basa en la tecnología inalámbrica del hardware del dispositivo, por lo que los fabricantes determinan la compatibilidad de las funciones de NFC de la plataforma en dispositivos específicos.

Administración de descargas

La aplicación de Descargas le brinda al usuario un acceso fácil a cualquier archivo descargado desde el navegador, el correo electrónico o alguna otra aplicación. Las descargas se basan en una instalación de administrador de descargas completamente nueva en el sistema que cualquier otra aplicación puede usar para administrar y almacenar sus descargas con mayor facilidad.

Cámara

Ahora la aplicación permite que el usuario acceda a varias cámaras del dispositivo, incluida una cámara frontal (si está disponible).

Nuevas funciones para desarrolladores

Android 2.3 ofrece una variedad de funciones y APIs que permiten a los desarrolladores incorporar nuevos tipos de aplicaciones a la plataforma de Android.

Mejoras para videojuegos

Rendimiento

Android 2.3 incluye una variedad de mejoras en el sistema que hacen que las operaciones comunes sean más rápidas y eficientes para todas las aplicaciones. Estos son algunos aspectos de especial interés de los desarrolladores de juegos:

  • Recolector de elementos no utilizados simultáneo: Dalvik VM presenta un nuevo recolector de elementos no utilizados simultáneo que minimiza las pausas de aplicaciones, lo que ayuda a garantizar una animación más fluida y una mayor capacidad de respuesta en juegos y aplicaciones similares.
  • Distribución de eventos más rápida: La plataforma ahora controla los eventos táctiles y de teclado de forma más rápida y eficiente, lo que minimiza el uso de CPU durante la distribución de eventos. Los cambios mejoran la capacidad de respuesta de todas las aplicaciones, pero en especial benefician a los juegos que usan eventos táctiles en combinación con gráficos 3D y otras operaciones que requieren mucha CPU.
  • Controladores de video actualizados: La plataforma usa controladores de video de terceros actualizados que mejoran la eficiencia de las operaciones de OpenGL ES para lograr un rendimiento general de los gráficos 3D más rápido.

Eventos de entrada y sensores nativos

Las aplicaciones que usan código nativo ahora pueden recibir y procesar eventos de entrada y sensores directamente en su código nativo, lo que mejora considerablemente la eficiencia y la capacidad de respuesta.

Las bibliotecas nativas que expone la plataforma permiten que las aplicaciones controlen los mismos tipos de eventos de entrada que los disponibles a través del framework. Las aplicaciones pueden recibir eventos de todos los tipos de sensores compatibles y pueden habilitar o inhabilitar sensores específicos y administrar la frecuencia de entrega de eventos y las colas.

Giroscopio y otros sensores nuevos para mejorar el procesamiento del movimiento en 3D

En Android 2.3, se agrega compatibilidad de API con varios tipos de sensores nuevos, incluidos los de giroscopio, vector de rotación, aceleración lineal, gravedad y barómetro. Las aplicaciones pueden usar los nuevos sensores en combinación con cualquier otro sensor disponible en el dispositivo para realizar un seguimiento del movimiento y la orientación tridimensionales del dispositivo con gran precisión. Por ejemplo, una aplicación de juego puede usar lecturas de un giroscopio y un acelerómetro del dispositivo para reconocer gestos y movimientos complejos del usuario, como inclinación, giro, empuje y rebanada.

API abierta para audio nativo

La plataforma proporciona una implementación de software de Khronos OpenSL ES, una API estándar que brinda a las aplicaciones acceso a controles de audio potentes y efectos de código nativo. Las aplicaciones pueden usar la API para administrar dispositivos de audio y controlar la entrada, la salida y el procesamiento de audio directamente desde el código nativo.

Administración de gráficos nativos

La plataforma proporciona una interfaz para su biblioteca Khronos EGL, que permite a las aplicaciones administrar contextos de gráficos y crear y administrar texturas y superficies de OpenGL ES a partir de código nativo.

Acceso nativo al ciclo de vida de la actividad y administración de ventanas

Las aplicaciones nativas pueden declarar un nuevo tipo de clase de actividad, NativeActivity, cuyas devoluciones de llamada de ciclo de vida se implementan directamente en código nativo. El NativeActivity y su código nativo subyacente se ejecutan en el sistema al igual que otras actividades: se ejecutan en el proceso del sistema de la aplicación y en el subproceso de IU principal de la aplicación, y reciben las mismas devoluciones de llamada de ciclo de vida que otras actividades.

La plataforma también expone APIs nativas para administrar ventanas, incluida la capacidad de bloquear y desbloquear el búfer de píxeles para dibujar directamente en él. A través de la API, las aplicaciones pueden obtener un objeto de ventana nativo asociado con un objeto de Surface del framework y también interactuar con él directamente en código nativo.

Acceso nativo a recursos y almacenamiento

Ahora las aplicaciones pueden acceder a una API nativa de Asset Manager para recuperar recursos de la aplicación directamente desde el código nativo sin necesidad de pasar por JNI. Si los recursos se comprimen, la plataforma realiza la descompresión de transmisión a medida que la aplicación lee los datos de los recursos. Ya no hay un límite para el tamaño de los elementos .apk comprimidos que se pueden leer.

Además, las aplicaciones pueden acceder a una API nativa de Storage Manager para trabajar directamente con los archivos OBB descargados y administrados por el sistema. Ten en cuenta que, aunque la compatibilidad de la plataforma con OBB está disponible en Android 2.3, las herramientas de desarrollo para crear y administrar archivos OBB no estarán disponibles hasta principios de 2011.

Entorno de desarrollo nativo sólido

El NDK de Android (r5 o versiones posteriores) proporciona un conjunto completo de herramientas, cadenas de herramientas y bibliotecas para desarrollar aplicaciones que usan el entorno nativo enriquecido que ofrece la plataforma Android 2.3. Si quieres obtener más información o descargar el NDK, consulta la página del NDK de Android.

Nuevas formas de comunicación

Telefonía por Internet

Ahora los desarrolladores pueden agregar funciones de telefonía por Internet basadas en SIP a sus aplicaciones. Android 2.3 incluye una pila de protocolos SIP completa y servicios integrados de administración de llamadas que permiten a las aplicaciones configurar con facilidad llamadas de voz salientes y entrantes, sin tener que administrar sesiones, comunicación a nivel de transporte ni grabación o reproducción de audio directamente.

Los fabricantes y los operadores asociados determinan la compatibilidad con las funciones de llamadas por Internet y SIP de la plataforma en dispositivos específicos.

Comunicaciones de campo cercano (NFC)

La compatibilidad de la plataforma con Comunicaciones de campo cercano (NFC) permite a los desarrolladores comenzar a crear una clase completamente nueva de aplicaciones para Android. Los desarrolladores pueden crear aplicaciones nuevas que ofrecen información y servicios basados en la proximidad a usuarios, organizaciones, comercios y anunciantes.

Con la API de NFC, las aplicaciones pueden leer y responder las etiquetas NFC "descubiertas" a medida que el usuario "toca" un dispositivo compatible con NFC sobre elementos incorporados en calcomanías, pósteres inteligentes y hasta otros dispositivos. Cuando se recopila una etiqueta de interés, las aplicaciones pueden responder a ella, leer sus mensajes y, luego, almacenarlos para solicitarle al usuario que lo haga.

A partir de Android 2.3.3, las aplicaciones también pueden escribir en etiquetas y configurar conexiones entre pares con otros dispositivos NFC.

La comunicación NFC se basa en la tecnología inalámbrica del hardware del dispositivo, por lo que los fabricantes determinan la compatibilidad de las funciones de NFC de la plataforma en dispositivos específicos.

Multimedia enriquecido

Efectos de audio mezclables

Una nueva API de efectos de audio permite a los desarrolladores crear fácilmente entornos de audio enriquecido, ya que agrega ecualización, potenciación de bajos, virtualización de auriculares (escenario de sonido ampliado) y reverberación a pistas y sonidos de audio. Los desarrolladores pueden mezclar varios efectos de audio en una pista local o aplicar efectos a nivel global en varias pistas.

Compatibilidad con nuevos formatos multimedia

La plataforma ahora ofrece compatibilidad integrada para los formatos de compresión de video abierto VP8 y el formato de contenedor abierto WebM. La plataforma también agrega compatibilidad con la codificación AAC y la codificación de banda ancha AMR (en software), de modo que las aplicaciones puedan capturar audio de mayor calidad que la banda estrecha.

Acceso a varias cámaras

La API de Camera ahora permite a los desarrolladores acceder a cualquier cámara disponible en un dispositivo, incluida una cámara frontal. Las aplicaciones pueden consultar la plataforma para conocer la cantidad de cámaras en el dispositivo y sus tipos y características, y luego abrir la cámara necesaria. Por ejemplo, una aplicación de videochat puede querer acceder a una cámara frontal que ofrece una resolución más baja, mientras que una aplicación de fotos puede preferir una cámara posterior que ofrezca una resolución más alta.

Nuevas tecnologías de plataforma

Marco de trabajo de medios

  • El nuevo framework multimedia reemplaza por completo a OpenCore, lo que mantiene toda la compatibilidad anterior del códec y el contenedor para la codificación y decodificación.
  • Compatibilidad integrada para el formato de compresión de video abierto de VP8 y el formato de contenedor abierto de WebM
  • Agrega codificación AAC y codificación de banda ancha AMR

Kernel de Linux

  • Se actualizó a la versión 2.6.35

Redes

  • Pila SIP, configurable por el fabricante del dispositivo
  • Compatibilidad con Comunicaciones de campo cercano (NFC), que puede configurar el fabricante del dispositivo
  • Se actualizó la pila BlueZ

Tiempo de ejecución de Dalvik

  • Máquina virtual Dalvik:
    • Recolector de elementos no utilizados simultáneo (objetivo de pausas inferiores a 3 ms)
    • Agrega más optimizaciones JIT (generación de código)
    • Verificación de código mejorada
    • Depuración de StrictMode, para identificar problemas de rendimiento y memoria
  • Bibliotecas principales:
    • Compatibilidad ampliada con I18N (codificaciones mundiales completas y más configuraciones regionales)
    • Formateador y formato de número más rápidos Por ejemplo, el formato de número de punto flotante es 2.5 veces más rápido.
    • Las respuestas HTTP se comprimen con gzip de forma predeterminada. El tamaño de las respuestas de la API de XML y JSON se puede reducir en un 60% o más.
    • Nuevas colecciones y APIs de utilidades
    • APIs de red mejoradas
    • Controles mejorados de lectura y escritura de archivos
    • Se actualizó JDBC
  • Actualizaciones de proyectos upstream:
    • OpenSSL 1.0.0a
    • BouncyCastle 1.45
    • ICU 4.4
    • zlib 1.2.5

Para obtener más información sobre las nuevas APIs para desarrolladores, consulta las notas de la versión de Android 2.3 y el Informe de diferencias de las APIs.