Niveau d'API:10
Android 2.3.3 (GINGERBREAD_MR1
) est une petite version de fonctionnalité 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 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 sur Android 2.3.3, utilisez Android SDK Manager afin de 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 de la version 2.3.3 pour les développeurs, y compris des nouvelles fonctionnalités et des modifications apportées à l'API de 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, afin de permettre aux applications d'interagir avec davantage de types de tags de manière inédite.
Un nouvel ensemble complet d'API donne aux applications un accès en lecture et en écriture à un plus large éventail de technologies de tags 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
- Ultraléger MIFARE
- Tags NDEF du forum NFC
La plate-forme fournit également un protocole de communication peer-to-peer limité et une API. Les activités de premier plan peuvent utiliser l'API pour enregistrer un message NDEF qui sera transmis à d'autres appareils NFC lors de leur connexion.
La distribution avancée des tags permet désormais aux applications de mieux contrôler comment et quand elles sont lancées, lorsqu'un tag NFC est détecté. Auparavant, la plate-forme utilisait une distribution des intents en une seule étape pour avertir les applications intéressées qu'une balise avait été découverte. La plate-forme utilise désormais un processus en quatre étapes qui permet à l'application au 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 des contenus de tag et des technologies de tag 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 classes de clés sont les suivantes:
NfcAdapter
, qui représente le matériel NFC sur l'appareil.NdefMessage
, qui représente un message de données NDEF, le format standard dans lequel des "enregistrements" contenant des données sont transmis entre les appareils et les tags. Un message NDEF certains de nombreux enregistrements NDEF de différents types. Les applications peuvent recevoir ces messages à partir des intentsNDEF_DISCOVERED
,TECH_DISCOVERED
ouTAG_DISCOVERED
.NdefRecord
, envoyé dans unNdefMessage
, qui décrit le type de données partagées et transporte les données elles-mêmes.Tag
, qui représente un tag analysé par l'appareil. Plusieurs types de tags sont acceptés, en fonction de la technologie de tag sous-jacente.TagTechnology
, une interface qui permet aux applications d'accéder aux propriétés de tag et aux opérations d'E/S en fonction des technologies présentes dans le tag. Pour obtenir la liste complète des technologies de balise compatibles avec Android 2.3.3, consultezandroid.nfc.tech
.
La communication NFC repose sur la technologie sans fil intégrée au 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 NFC renvoient un objet nul lorsque getDefaultAdapter(Context)
est appelé, et context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)
renvoie false
. Cependant, l'API NFC est 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.
En outre, les développeurs peuvent demander un filtrage sur Google Play, de sorte que leurs applications ne soient pas visibles par les utilisateurs dont les appareils ne sont pas compatibles avec la technologie NFC. Pour demander un 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 est compatible avec la plate-forme et l'API pour les connexions par sockets non sécurisés Bluetooth. Cela permet aux applications de communiquer avec des appareils simples qui ne proposent peut-être pas d'interface utilisateur pour l'authentification. Pour en savoir plus, consultez createInsecureRfcommSocketToServiceRecord(java.util.UUID)
et listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)
.
Graphismes
- Une nouvelle classe
BitmapRegionDecoder
permet aux applications de décoder une zone rectangulaire à partir d'une image. L'API est particulièrement utile lorsqu'une image d'origine est grande et que l'application n'a besoin que de certaines parties de l'image. - Un nouveau champ
inPreferQualityOverSpeed
dansBitmapFactory.Options
permet aux applications d'utiliser une méthode IDCT plus précise, mais légèrement plus lente, dans le décodage JPEG. Cela améliore à son tour la qualité de l'image reconstruite.
Framework pour les médias
- Une nouvelle classe
MediaMetadataRetriever
fournit une interface unifiée pour récupérer les images et les métadonnées d'un fichier multimédia d'entrée. MediaRecorder.AudioEncoder
etMediaRecorder.OutputFormat
incluent de nouveaux champs permettant de spécifier les formats AMR à large bande et AAC.
Reconnaissance vocale
L'API de reconnaissance vocale inclut de nouvelles constantes pour vous permettre de gérer les résultats de recherche vocale de manière inédite. Bien que les nouvelles constantes ne soient pas nécessaires pour l'utilisation normale de la reconnaissance vocale, vous pouvez les utiliser pour offrir un affichage différent 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 du framework. Un identifiant entier (10) est attribué à l'API Android 2.3.3, qui est 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 SDK Android 2.3.3. 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 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 ?