Bizcocho de jengibre

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

Nuevas funciones del usuario

Mejoras en la IU para lograr simplicidad y rapidez

La interfaz de usuario se define de muchas maneras en el sistema, lo que facilita el aprendizaje, es más rápido de usar y ahorra energía. Un tema visual simplificado de colores contra 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 al usuario la navegación y el control de las funciones del sistema y del dispositivo.

Entrada de texto más intuitiva y rápida

El teclado en pantalla de Android se rediseñó y optimizó para ingresar y editar texto más rápido. Las teclas se cambian y se reposicionan para mejorar la orientación, lo que facilita su visualización y presión 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 las sugerencias del diccionario. A medida que el usuario selecciona una palabra ya ingresada, 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 para corregirla a partir del conjunto original de sugerencias.

La nueva función multitáctil de teclas permite que el usuario ingrese números y símbolos rápidamente presionando Mayúsculas +<letra> y ?123+<símbolo>, sin necesidad de cambiar los modos 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 el dedo para seleccionar un carácter.

Seleccionar palabras con un toque y copiar y pegar

Cuando el usuario ingresa texto o ve 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 lugar del área de selección. Para ingresar texto, el usuario puede presionar la tecla deslizable a fin de ingresar a un 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.

Administración mejorada de energía

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

El sistema también le brinda al usuario una mayor visibilidad de 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 sobre las aplicaciones

Ahora aparece un acceso directo al control Administrar aplicaciones en el menú de opciones de la pantalla principal y en el Selector, lo que facilita comprobar 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 en la que se muestra 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, detener una aplicación o informar comentarios a su desarrollador.

Nuevas formas de comunicarse y organizar

Un conjunto actualizado de aplicaciones estándar permite al usuario adoptar nuevos enfoques sobre la administración de 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 llamadas por Internet (una dirección SIP) a cualquier contacto e iniciar una llamada desde un 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 SIP y por Internet de la plataforma en dispositivos específicos.

Comunicaciones de campo cercano

Una aplicación de lector de NFC permite que el usuario lea las etiquetas de comunicación de campo cercano (NFC) y también 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 que se lean desde 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 sus fabricantes determinan la compatibilidad de las funciones 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 compilan 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

La aplicación ahora 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 los 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. Los siguientes aspectos son de especial interés para 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 benefician especialmente 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 un rendimiento general de los gráficos 3D más rápido.

Entrada nativa y eventos de sensores

Las aplicaciones que usan código nativo ahora pueden recibir y procesar eventos de entrada y de 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 de movimiento en 3D

Android 2.3 agrega compatibilidad de API con varios tipos de sensores nuevos, incluidos el giroscopio, el vector de rotación, la aceleración lineal, la gravedad y los sensores de barómetro. Las aplicaciones pueden usar los nuevos sensores en combinación con cualquier otro sensor disponible en el dispositivo para realizar un seguimiento tridimensional del movimiento y el cambio de orientación del dispositivo con un alto nivel de precisión y exactitud. Por ejemplo, una aplicación de juego podría usar las lecturas de un giroscopio y un acelerómetro en el dispositivo para reconocer gestos y movimientos complejos del usuario, como inclinación, giro, empuje y rebanado.

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 a 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 Activity, NativeActivity, cuyas devoluciones de llamada de ciclo de vida se implementan directamente en código nativo. NativeActivity y su código nativo subyacente se ejecutan en el sistema de la misma manera que otras actividades: se ejecutan en el proceso del sistema de la aplicación y se ejecutan en el subproceso de IU principal de la aplicación, además de recibir 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. Mediante la API, las aplicaciones pueden obtener un objeto de ventana nativo asociado con un objeto de superficie de framework y, luego, 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 aplicaciones directamente desde el código nativo sin necesidad de pasar por JNI. Si los recursos están comprimidos, la plataforma realiza una 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 archivos OBB descargados y administrados por el sistema. Ten en cuenta que, aunque la compatibilidad de la plataforma para 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 sólido de desarrollo nativo

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 enriquecido entorno nativo 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 protocolo SIP completa y servicios integrados de administración de llamadas que permiten a las aplicaciones configurar fácilmente llamadas de voz entrantes y salientes, sin tener que administrar sesiones, comunicación a nivel de transporte ni grabación o reproducción de audio directamente.

La compatibilidad de las funciones de llamadas por Internet y SIP de la plataforma en dispositivos específicos está determinada por sus fabricantes y operadores asociados.

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 las etiquetas NFC "descubiertas" y responder a ellas a medida que el usuario "toca" un dispositivo compatible con NFC para elementos incorporados en calcomanías, pósteres inteligentes e incluso otros dispositivos. Cuando se recopila una etiqueta de interés, las aplicaciones pueden responder a ella, leer sus mensajes y, luego, almacenarlos para sugerir al usuario según sea necesario.

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 sus fabricantes determinan la compatibilidad de las funciones 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 enriquecidos, ya que agrega ecualización, potenciación de bajos, virtualización de auriculares (facilidad de sonido ampliada) y reverberación a las pistas y los sonidos de audio. Los desarrolladores pueden mezclar varios efectos de audio en una pista local o aplicar efectos globalmente en varias pistas.

Compatibilidad con nuevos formatos de contenido multimedia

La plataforma ahora ofrece compatibilidad integrada con 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 que esté 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 podría 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 de medios reemplaza por completo a OpenCore, lo que mantiene toda la compatibilidad con códecs y contenedores anteriores 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 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 las Comunicaciones de campo cercano (NFC), que puede configurar el fabricante del dispositivo
  • Se actualizó la pila de BlueZ

Tiempo de ejecución de Dalvik

  • VM de Dalvik:
    • Recolector de elementos no utilizados simultáneo (objetivo de pausa inferior a 3 ms)
    • Agrega más optimizaciones de 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 con I18N expandida (codificaciones mundiales completas, 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. Los tamaños de las respuestas de las APIs de XML y JSON se pueden reducir en un 60% o más.
    • Nuevas APIs de colecciones y utilidades
    • APIs de red mejoradas
    • Controles mejorados de lectura y escritura de archivos
    • JDBC actualizado
  • 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.