API Android 2.3.3

Niveau d'API: 10

Android 2.3.3 (GINGERBREAD_MR1) est une petite version de fonctionnalités qui ajoute plusieurs améliorations et API à la plate-forme Android 2.3.

Pour les développeurs, la plate-forme Android 2.3.3 est disponible en tant que composant téléchargeable du 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.3, utilisez Android SDK Manager pour télécharger la plate-forme dans votre SDK.

Présentation de l'API

Les sections ci-dessous fournissent un aperçu technique des nouveautés pour les développeurs dans la version 2.3.3, y compris les nouvelles fonctionnalités et les modifications apportées à l'API du framework depuis la version précédente.

Technologie NFC (communication en champ proche)

Android 2.3.3 offre une compatibilité améliorée et étendue avec la technologie NFC, ce qui permet aux applications d'interagir avec davantage de types de tags de manière innovante.

Un nouvel ensemble complet d'API donne aux applications un accès en lecture et en écriture à un plus grand nombre de technologies de balise standards, y compris:

  • NFC-A (ISO 14443-3A)
  • NFC-B (ISO 14443-3B)
  • NFC-F (JIS 6319-4)
  • NFC-V (ISO 15693)
  • ISO-DEP (ISO 14443-4)
  • MIFARE Classic
  • MIFARE Ultralight
  • Tags NDEF du forum NFC

La plate-forme fournit également un protocole et une API de communication peer-to-peer limités. Les activités de premier plan peuvent utiliser l'API pour enregistrer un message NDEF qui sera transmis à d'autres appareils NFC lorsqu'ils se connecteront.

La distribution de tags avancée permet désormais aux applications de mieux contrôler la façon et le moment de leur lancement lorsqu'un tag NFC est détecté. Auparavant, la plate-forme utilisait une distribution d'intent en une seule étape pour avertir les applications intéressées qu'une balise avait été détectée. La plate-forme utilise désormais un processus en quatre étapes qui permet à l'application de premier plan de prendre le contrôle d'un événement de balise avant qu'il ne soit transmis à d'autres applications (android.nfc.NfcAdapter.enableForegroundDispatch()). Le nouveau processus de distribution permet également aux applications d'écouter du contenu et des technologies de balise spécifiques, en fonction de deux nouvelles actions d'intent : android.nfc.action.NDEF_DISCOVERED et android.nfc.action.TECH_DISCOVERED.

L'API NFC est disponible dans les packages android.nfc et android.nfc.tech. Les principales classes sont les suivantes:

  • NfcAdapter, qui représente le matériel NFC de l'appareil.
  • NdefMessage, qui représente un message de données NDEF, le format standard dans lequel les "enregistrements" contenant des données sont transmis entre les appareils et les tags. Un message NDEF contient de nombreux enregistrements NDEF de différents types. Les applications peuvent recevoir ces messages à partir d'intents NDEF_DISCOVERED, TECH_DISCOVERED ou TAG_DISCOVERED.
  • NdefRecord, transmis dans un NdefMessage, qui décrit le type de données partagées et transporte les données elles-mêmes.
  • Tag, qui représente une balise lue par l'appareil. Plusieurs types de balises sont acceptés, en fonction de la technologie de balise sous-jacente.
  • TagTechnology, une interface qui permet aux applications d'accéder aux propriétés de balise et aux opérations d'E/S en fonction des technologies présentes dans la balise. Pour obtenir la liste complète des technologies de balise compatibles avec Android 2.3.3, consultez android.nfc.tech.

La communication NFC repose sur la technologie sans fil du matériel de l'appareil et n'est pas présente sur tous les appareils Android. Les appareils Android qui ne sont pas compatibles avec la technologie NFC renvoient un objet nulle lorsque getDefaultAdapter(Context) est appelé, et context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC) renvoie false. L'API NFC est toutefois toujours présente, quelle que soit la compatibilité matérielle sous-jacente.

Pour utiliser l'API NFC, les applications doivent demander l'autorisation de l'utilisateur en déclarant <uses-permission android:name="android.permission.NFC"> dans leurs fichiers manifestes.

De plus, les développeurs peuvent demander un filtrage sur Google Play afin que leurs applications ne soient pas visibles par les utilisateurs dont les appareils ne sont pas compatibles avec la technologie NFC. Pour demander le filtrage, ajoutez <uses-feature android:name="android.hardware.nfc" android:required="true"> au fichier manifeste de l'application.

Pour en savoir plus, consultez le guide du développeur sur la technologie NFC.

Bluetooth

Android 2.3.3 ajoute la prise en charge de la plate-forme et de l'API pour les connexions de socket non sécurisées Bluetooth. Cela permet aux applications de communiquer avec des appareils simples qui ne proposent peut-être pas d'UI pour l'authentification. Pour en savoir plus, consultez createInsecureRfcommSocketToServiceRecord(java.util.UUID) et listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID).

Graphiques

  • Une nouvelle classe BitmapRegionDecoder permet aux applications de décoder une région rectangulaire à partir d'une image. L'API est particulièrement utile lorsqu'une image d'origine est volumineuse et que l'application n'a besoin que de certaines parties de l'image.
  • Un nouveau champ inPreferQualityOverSpeed dans BitmapFactory.Options permet aux applications d'utiliser une méthode IDCT plus précise, mais légèrement plus lente, lors du décodage JPEG. Cela améliore la qualité de l'image reconstruite.

Framework multimédia

Reconnaissance vocale

L'API de reconnaissance vocale inclut de nouvelles constantes pour vous permettre de gérer les résultats de recherche vocale de nouvelles façons. Bien que les nouvelles constantes ne soient pas nécessaires pour une utilisation normale de la reconnaissance vocale, vous pouvez les utiliser pour proposer une vue différente des résultats de recherche vocale dans votre application. Pour en savoir plus, consultez RecognizerResultsIntent.

Niveau d'API

La plate-forme Android 2.3.3 fournit une version mise à jour de l'API de framework. L'API Android 2.3.3 est associée à un identifiant entier (10) stocké dans le système lui-même. Cet identifiant, appelé "niveau d'API", permet au système de déterminer correctement si une application est compatible avec le système avant de l'installer.

Pour utiliser les API introduites dans Android 2.3.3 dans votre application, vous devez compiler l'application avec la bibliothèque Android fournie dans la plate-forme du SDK Android 2.3.3. 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 est conçue pour s'exécuter uniquement sur Android 2.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 ?