API Android 2.3.4

Niveau d'API : 10

Android 2.3.4 (GINGERBREAD_MR1) est une version de maintenance qui ajoute plusieurs corrections de bugs et correctifs à la plate-forme Android 2.3, sans modification de l'API par rapport à Android 2.3.3. De plus, Android 2.3.4 prend en charge l'API Open Accessory sur les appareils mobiles via la bibliothèque d'accessoires ouverts facultative.

Pour les développeurs, la plate-forme Android 2.3.4 est disponible en tant que composant téléchargeable pour le SDK Android. La plate-forme téléchargeable comprend une bibliothèque et une image système Android, ainsi qu'un ensemble de skins d'émulateur et plus encore. Pour commencer à développer ou à tester avec Android 2.3.4, utilisez Android SDK Manager pour télécharger la plate-forme dans votre SDK.

Présentation de l'API

Android 2.3.4 fournit aux applications la même API de framework qu'Android 2.3.3 (niveau d'API 10). Pour obtenir un résumé de l'API, consultez les notes de version d'Android 2.3.3.

Ouvrir la bibliothèque d'accessoires

Open Accessory est une nouvelle fonctionnalité permettant d'intégrer des périphériques connectés aux applications exécutées sur la plate-forme. Cette fonctionnalité est basée sur une pile USB (Universal Serial Bus) intégrée à la plate-forme et sur une API exposée aux applications. Les périphériques qui se connectent aux appareils Android en tant qu'accessoires se connectent en tant qu'hôtes USB.

Open Accessory est introduit dans Android 3.1 (niveau d'API 12), mais est disponible pour les appareils équipés d'Android 2.3.4 à l'aide d'une bibliothèque externe facultative, la bibliothèque Open Accessory. La bibliothèque expose une API de framework qui permet aux applications de découvrir, de communiquer avec et de gérer divers types d'appareils connectés via USB. Il fournit également l'implémentation de l'API sur des parties de la plate-forme Android qui ne sont pas directement exposées aux applications dans Android 2.3.4.

La bibliothèque d'accessoires ouverts est facultative sur n'importe quel appareil. Les fabricants d'appareils peuvent choisir d'inclure ou d'exclure la bibliothèque d'accessoires ouverts dans leurs produits. La bibliothèque est rétrocompatible avec Android 3.1. Par conséquent, les applications développées pour Android 2.3.4 s'exécutent correctement sur les appareils équipés d'Android 3.1, si ces appareils sont compatibles avec les accessoires USB.

L'API fournie par la bibliothèque d'accessoires ouverts est basée sur l'API Open Accessory fournie dans Android 3.1. Dans la plupart des domaines, vous pouvez utiliser les mêmes techniques et les mêmes API. Toutefois, le développement pour la bibliothèque d'accessoires Open Source sur Android 2.3.4 diffère de l'API USB standard à plusieurs égards:

  • Obtenir un objet UsbManager : pour obtenir un objet UsbManager lorsque vous utilisez la bibliothèque de modules complémentaires, utilisez la méthode d'assistance getInstance() plutôt que getSystemService(). Par exemple :

    Kotlin

    val manager = UsbManager.getInstance(this)
    

    Java

    UsbManager manager = UsbManager.getInstance(this);
    
  • Obtenir un UsbAccessory à partir d'un intent filtré : lorsque vous filtrez un appareil ou un accessoire connecté avec un filtre d'intent, l'objet UsbAccessory est contenu dans l'intent transmis à votre application. Si vous utilisez la bibliothèque de modules complémentaires, vous pouvez obtenir l'objet UsbAccessory comme suit :

    Kotlin

    val accessory = UsbManager.getAccessory(intent)
    

    Java

    UsbAccessory accessory = UsbManager.getAccessory(intent)
    
  • Non compatible avec les hôtes USB : Android 2.3.4 et la bibliothèque d'accessoires ouverts ne sont pas compatibles avec le mode hôte USB (par exemple, via UsbDevice), bien que le mode hôte USB soit compatible avec Android 3.1. Un appareil Android équipé d'Android 2.3.4 ne peut pas fonctionner en tant qu'hôte USB. Cette bibliothèque permet à l'appareil Android de fonctionner uniquement comme périphérique, l'accessoire connecté fonctionnant en tant qu'hôte USB (via UsbAccessory).

Pour développer des applications avec la bibliothèque d'accessoires ouverts, vous avez besoin des éléments suivants:

  • La dernière version des SDK Tools pour Android
  • La dernière version du module complémentaire API Google, qui inclut la bibliothèque elle-même (pour l'association)
  • Un appareil matériel réel exécutant Android 2.3.4 (ou Android 3.1) avec prise en charge des accessoires USB, pour les tests d'exécution sur les appareils connectés

Pour en savoir plus sur le développement d'applications qui interagissent avec les accessoires USB, consultez la documentation pour les développeurs correspondante.

De plus, les développeurs peuvent demander un filtrage sur Google Play afin que leurs applications ne soient pas disponibles pour les utilisateurs dont les appareils ne sont pas compatibles avec les accessoires appropriés. Pour demander le filtrage, ajoutez l'élément ci-dessous au fichier manifeste de l'application:

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

Niveau d'API

La plate-forme Android 2.3.4 n'augmente pas le niveau d'API. Elle utilise le même niveau d'API qu'Android 2.3.3, soit le niveau d'API 10.

Pour utiliser les API introduites dans le niveau d'API 10 dans votre application, vous devez compiler l'application avec la bibliothèque Android fournie dans la dernière version du module complémentaire des API Google, qui inclut également la bibliothèque Open Accessory.

Selon vos besoins, vous devrez peut-être également ajouter un attribut android:minSdkVersion="10" à l'élément <uses-sdk> dans le fichier manifeste de l'application. Si votre application n'est conçue que pour Android 2.3.3 ou version ultérieure, la déclaration de l'attribut empêche son installation sur des versions antérieures de la plate-forme.

Pour en savoir plus, consultez Qu'est-ce que le niveau d'API ?