APIs de Android 2.3.4

Nivel de API: 10

Android 2.3.4 (GINGERBREAD_MR1) es una versión de mantenimiento que agrega varias correcciones de errores y parches a la plataforma de Android 2.3, sin ningún cambio en la API con respecto a Android 2.3.3. Además, Android 2.3.4 brinda compatibilidad con la API de Open Accessory a los dispositivos móviles a través de la biblioteca de Open Accessory opcional.

Para los desarrolladores, la plataforma Android 2.3.4 está disponible como componente descargable para el SDK de Android. La plataforma descargable incluye una biblioteca de Android y una imagen del sistema, así como un conjunto de máscaras de emulador y más. Para comenzar a desarrollar o probar en Android 2.3.4, usa el Administrador de SDK de Android para descargar la plataforma en tu SDK.

Descripción general de la API

Android 2.3.4 proporciona la misma API de framework a las aplicaciones que Android 2.3.3 (nivel de API 10). Para obtener un resumen de la API, consulta la Notas de la versión de Android 2.3.3

Abrir biblioteca de accesorios

Open Accessory es una nueva función para integrar periféricos conectados con aplicaciones que se ejecutan en la plataforma. La función se basa en una pila USB (autobús universal en serie) integrada en la plataforma y una API expuesta a las aplicaciones. Periféricos que se conectan a dispositivos con Android ya que los accesorios se conectan como hosts USB.

Open Accessory se introdujo en Android 3.1 (nivel de API 12), pero se pusieron a disposición de los dispositivos con Android 2.3.4 mediante una interfaz externa la Biblioteca abierta de accesorios. La biblioteca expone una API de framework que permite que las aplicaciones descubran, se comuniquen y administren una variedad de tipos de dispositivos conectados a través de USB. También proporciona la implementación de la API con partes de la plataforma de Android que no están directamente expuestas a aplicaciones en Android 2.3.4

La Biblioteca abierta de accesorios es opcional en cualquier dispositivo. Los fabricantes de dispositivos pueden elegir si desean incluir la biblioteca de accesorios abiertos en sus productos o excluirla. La biblioteca tiene compatibilidad con versiones futuras de Android 3.1, de modo que las aplicaciones desarrolladas para Android 2.3.4 se ejecutarán correctamente en los dispositivos con Android 3.1, si son compatibles con accesorios USB.

La API que proporciona Open Accessory Library se basa en Open Accessory. API proporcionada en Android 3.1. En la mayoría de las áreas, puedes usar las mismas técnicas y APIs. Sin embargo, el desarrollo de la Open Accessory Library en Android 2.3.4 difiere desde la API de USB estándar de las siguientes maneras:

  • Obtención de un objeto UsbManager: para obtener un objeto UsbManager cuando uses la biblioteca de complementos usa el método de ayuda getInstance() en lugar de getSystemService() Por ejemplo:

    Kotlin

    val manager = UsbManager.getInstance(this)

    Java

    UsbManager manager = UsbManager.getInstance(this);
  • Obtener un UsbAccessory de un intent filtrado: Cuando filtras por un dispositivo o accesorio conectado con un filtro de intents, el objeto UsbAccessory está contenido dentro del intent que se pasa a tu aplicación. Si utilizas el de complementos, puedes obtener el objeto UsbAccessory de la siguiente manera:

    Kotlin

    val accessory = UsbManager.getAccessory(intent)

    Java

    UsbAccessory accessory = UsbManager.getAccessory(intent)
  • No es compatible con el host USB: Android 2.3.4 y la biblioteca de accesorios abiertos no son compatibles con el modo de host USB (por ejemplo, a través de UsbDevice), aunque el modo de host USB es compatible con Android 3.1. Un dispositivo con Android 2.3.4 no puede funcionar como USB. host. La biblioteca permite que el dispositivo con tecnología Android funcione como solo un periférico, con el accesorio conectado que funciona como host USB (a través de UsbAccessory).

Para desarrollar apps con Open Accessory Library, necesitas lo siguiente:

  • La versión más reciente de las herramientas del SDK de Android
  • La versión más reciente del complemento de las APIs de Google, que incluye la biblioteca misma (para vincular)
  • Un dispositivo de hardware real que ejecute Android 2.3.4 (o Android 3.1) con compatibilidad con accesorios USB para realizar pruebas del entorno de ejecución en dispositivos conectados

Para obtener un análisis completo sobre cómo desarrollar aplicaciones que interactúen con USB consulta la documentación para desarrolladores relacionada.

Además, los desarrolladores pueden solicitar filtros en Google Play, de modo que sus aplicaciones no están disponibles para los usuarios cuyos dispositivos no proporcionan la la asistencia adecuada para los accesorios. Para solicitar el filtrado, agrega el siguiente elemento al manifiesto de la aplicación:

<uses-feature
  android:name="android.hardware.usb.accessory"
  android:required="true">

Nivel de API

La plataforma de Android 2.3.4 no incrementa el nivel de API, sino que usa el mismo nivel de API que Android 2.3.3, el nivel de API 10.

Para usar las APIs presentadas en el nivel de API 10 en tu aplicación, debes compilar la aplicación en la biblioteca de Android que se proporciona en la última versión del complemento de API de Google, que también incluye la API de Biblioteca de accesorios.

Según tus necesidades, es posible que también debas agregar un atributo android:minSdkVersion="10" al elemento <uses-sdk> en el manifiesto de la aplicación. Si tu aplicación está diseñada para ejecutarse solo en Android 2.3.3 y versiones posteriores, La declaración del atributo impide que la aplicación se instale anteriormente más recientes de la plataforma.

Para obtener más información, consulta Qué es la API nivel?