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 aucune modification de l'API par rapport à Android 2.3.3. De plus, Android 2.3.4 est compatible avec l'API Open Accessory sur les appareils mobiles, via la bibliothèque d'accessoires Open Accessory disponible en option.

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 Android et une image système, ainsi qu'un ensemble d'apparences d'émulateur et plus encore. Pour commencer à développer ou à tester Android 2.3.4, utilisez Android SDK Manager afin de télécharger la plate-forme dans votre SDK.

Présentation de l'API

Android 2.3.4 fournit la même API de framework aux applications 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é qui permet d'intégrer des périphériques connectés aux applications exécutées sur la plate-forme. Cette capacité 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 à des 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 il est mis à la disposition des appareils équipés d'Android 2.3.4 au moyen d'une bibliothèque externe facultative, la bibliothèque d'accessoires ouverts. La bibliothèque expose une API de framework qui permet aux applications de découvrir, de communiquer et de gérer divers types d'appareils connectés via USB. Il permet également d'implémenter 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 tous les appareils. Les fabricants d'appareils peuvent choisir d'inclure la bibliothèque d'accessoires ouverts à leurs produits ou de l'exclure. La bibliothèque est rétrocompatible avec Android 3.1. Par conséquent, les applications développées avec Android 2.3.4 s'exécutent correctement sur les appareils équipés d'Android 3.1, à condition que ces appareils soient compatibles avec les accessoires USB.

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

  • Obtention d'un objet UsbManager : pour obtenir un objet UsbManager lors de l'utilisation de 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);
    
  • Obtention d'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 de la manière suivante:

    Kotlin

    val accessory = UsbManager.getAccessory(intent)
    

    Java

    UsbAccessory accessory = UsbManager.getAccessory(intent)
    
  • Pas de compatibilité 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 comme hôte USB. La bibliothèque permet à l'appareil Android de fonctionner uniquement en tant que périphérique, l'accessoire connecté fonctionnant comme hôte USB (via UsbAccessory).

Pour développer des applications à l'aide de la bibliothèque d'accessoires ouverts, vous avez besoin de ce qui suit:

  • La dernière version des SDK Tools pour Android
  • Dernière version du module complémentaire API Google, qui inclut la bibliothèque elle-même (pour l'association)
  • Un appareil physique équipé d'Android 2.3.4 (ou Android 3.1) compatible avec les accessoires USB, pour effectuer des tests d'exécution sur des appareils connectés

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

En outre, les développeurs peuvent demander un filtrage sur Google Play, de sorte que leurs applications ne soient pas disponibles pour les utilisateurs dont les appareils ne prennent pas en charge les accessoires appropriés. Pour demander un 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'incrémente pas le niveau d'API. Elle utilise le même niveau d'API qu'Android 2.3.3, 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 API Google, qui inclut également la bibliothèque d'accessoires ouverts.

En fonction de 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 est conçue pour ne s'exécuter que sur Android 2.3.3 ou version ultérieure, déclarer l'attribut empêche son installation sur les versions antérieures de la plate-forme.

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