Niveau d'API: 8
Android 2.2 est une version mineure de la plate-forme qui comprend des fonctionnalités pour les utilisateurs et les développeurs, des modifications de l'API et des corrections de bugs. Pour en savoir plus sur les fonctionnalités pour les développeurs et les modifications apportées aux API, consultez la section API du framework.
Pour les développeurs, la plate-forme Android 2.2 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.2, utilisez Android SDK Manager pour télécharger la plate-forme dans votre SDK.
Points forts de la plate-forme
Pour obtenir la liste des nouvelles fonctionnalités utilisateur et des points forts de la plate-forme, consultez le document Principales caractéristiques de la plate-forme Android 2.2.
Niveau d'API
La plate-forme Android 2.2 fournit une version mise à jour de l'API du framework. L'API Android 2.2 se voit attribuer un identifiant entier (8) 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.2 dans votre application, vous devez définir la valeur appropriée, "8", dans les attributs android:minSdkVersion
de l'élément <uses-sdk>
dans le fichier manifeste de votre application.
Pour en savoir plus sur l'utilisation du niveau d'API, consultez le document Niveaux d'API.
Modifications apportées à l'API du framework
Les sections ci-dessous fournissent des informations sur les modifications apportées à l'API du framework d'application fournie par la plate-forme Android 2.2.
Installation d'applications sur un support de stockage externe
La plate-forme Android permet désormais aux applications de demander l'installation sur le support de stockage externe de l'appareil (comme la carte SD), au lieu de l'installation sur la mémoire interne de l'appareil.
Les développeurs d'applications peuvent indiquer l'emplacement d'installation préféré de leurs applications à l'aide d'un nouvel attribut <manifest>
dans le fichier manifeste,
android:installLocation
. L'attribut accepte trois valeurs : "internalOnly"
, "preferExternal"
et "auto"
. Au moment de l'installation, le système vérifie la valeur de android:installLocation
et installe l'application .apk
selon l'emplacement préféré, si possible. Si l'application a demandé une installation externe, le système l'installe dans une partition privée et chiffrée sur le support externe. Une fois qu'un fichier .apk d'application est installé en externe, le système permet à l'utilisateur de modifier l'emplacement de stockage du fichier .apk et de le déplacer vers la mémoire interne de l'appareil si nécessaire (et inversement), via "Gérer les applications" dans les paramètres utilisateur.
Par défaut, le système installe toutes les applications sur la mémoire interne de l'appareil, à l'exception de celles qui demandent explicitement une installation externe. Cela signifie que le système installera toujours les anciennes applications dans la mémoire interne, car elles n'ont pas accès à l'attribut android:installLocation
. Toutefois, il est possible de configurer et de compiler une ancienne application de sorte qu'elle soit installée en interne sur les anciennes versions de la plate-forme et en externe sur les plates-formes Android 2.2 et versions ultérieures, si nécessaire.
Notez que demander l'installation sur le support externe de l'appareil n'est pas adapté à toutes les applications, en particulier parce que le support externe peut être amovible et que le désinstallation/réinstallation peut perturber l'expérience utilisateur et les paramètres système.
Pour en savoir plus sur la définition d'un emplacement d'installation privilégié pour votre application, y compris sur les types d'applications qui doivent et ne doivent pas demander une installation externe, veuillez consulter le document Emplacement d'installation de l'application.
Sauvegarde des données
La plate-forme fournit désormais un service de sauvegarde généralisé que les applications peuvent utiliser pour sauvegarder et restaurer les données utilisateur, afin de s'assurer que les utilisateurs peuvent conserver leurs données lorsqu'ils changent d'appareil ou réinstallent l'application. Le gestionnaire de sauvegarde gère le transport des données de l'application vers et depuis l'espace de stockage de sauvegarde dans le cloud. Le Gestionnaire de sauvegarde peut stocker n'importe quel type de données, des données arbitraires aux fichiers, et gérer les opérations de sauvegarde et de restauration de manière atomique. Pour en savoir plus, consultez Sauvegarde de données.
Graphiques
- Nouvelles API OpenGL ES 2.0 dans
android.opengl.GLES20
. - Nouvelles classes et méthodes utilitaires
ETC1
,ETC1Util
etETC1Util.ETC1Texture
pour utiliser ETC1 pour la compression de texture. - Nouvelle classe
ImageFormat
. - Nouveau
YUV image format API
pour activer la compression de YUV vers JPEG et la manipulation des données YUV.
Contenus multimédias
- Nouvelles API dans
android.media.AudioManager
pour gérer la mise au point audio, le contrôle du transport, la perte temporaire de la mise au point audio et le masquage. - Nouvel intent de diffusion pour acheminer l'audio vers le SCO :
ACTION_SCO_AUDIO_STATE_CHANGED
avec des éléments supplémentaires indiquant le nouvel état. - Nouvelles API dans
SoundPool
pour détecter la fin du chargement du son. - Nouvelles API dans
SoundPool
pour la mise en veille et la reprise automatiques. - Nouvelles API dans
MediaRecorder
pour spécifier les paramètres audio du nombre de canaux, des taux d'encodage et d'échantillonnage, et du taux d'échantillonnage. - Nouvelles API permettant d'ajouter des fichiers à la base de données multimédia afin qu'ils soient analysés automatiquement. Consultez
MediaScannerConnection.scanFile
etMediaScannerConnection.OnScanCompletedListener
.
Reconnaissance vocale et moteurs de reconnaissance tiers
- La plate-forme fournit de nouvelles API de reconnaissance vocale qui permettent aux applications d'interagir plus facilement avec le système de reconnaissance vocale disponible. Par exemple, les API sont suffisantes pour intégrer la reconnaissance vocale de manière approfondie dans un IME.
- La plate-forme fournit également une classe de base
RecognitionService
qui permet aux développeurs tiers de créer des moteurs de reconnaissance de plug-in. - Nouvelle interface
RecognitionListener
pour recevoir des rappels. - Nouveaux extras
RecognizerIntent
qui permettent à une application demandeur de spécifier des détails tels que la langue préférée, la longueur minimale en millisecondes, etc.
Appareil photo et caméscope
- Modifications apportées à l'API d'aperçu de l'appareil photo pour améliorer l'efficacité du pipeline d'aperçu.
- Nouvelle orientation d'affichage pour la caméra (elle peut désormais fonctionner en mode portrait).
- Nouvelles API dans
android.hardware.Camera
pour gérer le niveau de zoom. - Nouvelles API
android.hardware.Camera.Parameters
pour interroger et définir les paramètres de l'appareil photo de l'appareil, tels que la longueur focale, l'exposition, le niveau de zoom, l'angle de vue, etc. - Nouvel utilitaire
thumbnail
pour les miniatures de vidéos et d'images. - Les nouvelles classes
CamcorderProfile
etCamcorderProfile
permettent aux applications de déterminer les fonctionnalités de l'appareil photo matériel de l'appareil. - Prise en charge de la récupération du GPS et de la longueur focale dans
android.media.ExifInterface
.
Gestionnaire de règles relatives aux appareils
Les nouvelles API de gestion des règles relatives aux appareils permettent aux développeurs d'écrire des applications "administrateur de l'appareil" qui peuvent contrôler les fonctionnalités de sécurité de l'appareil, telles que la force minimale du mot de passe, l'effacement des données, etc. Les utilisateurs peuvent sélectionner les administrateurs activés sur leurs appareils. Pour en savoir plus, consultez les classes android.app.admin
ou l'exemple de code d'application dans DeviceAdminSample.java.
Framework d'UI
- Les nouveaux modes d'UI "mode voiture" et "mode nuit", ainsi que
UiModeManager
, permettent aux applications d'ajuster leur UI pour des modes utilisateur spécifiques. - Nouveau
ScaleGestureDetector
qui permet aux vues de détecter et de gérer les gestes de transformation impliquant plusieurs pointeurs (multipoint) à l'aide des MotionEvents fournis. - Amélioration de la manière dont les événements multipoint sont signalés dans les objets
MotionEvent
. - L'attribut de mise en page
fill_parent
est renommématch_parent
. Cela affecte à la fois le code XML et Java (voirViewGroup.LayoutParams
). Notez que la plate-forme continuera d'accepter les utilisations defill_parent
dans les anciennes applications. - Les nouveaux attributs de mise en page
tabStripEnabled
,tabStripRight
ettabStripLeft
permettent aux développeurs de personnaliser la bande inférieure des TabWidgets. - Meilleure prise en charge des boîtes de dialogue gérées dans Activity.
Comptes et synchronisation
- La nouvelle méthode
AddPeriodicSync()
vous permet de planifier une synchronisation périodique avec un compte, une autorité et des extras spécifiques à la fréquence indiquée.
Nouveaux éléments et attributs du fichier manifeste
- Pour spécifier l'emplacement d'installation préféré de l'application (voir la section Installation d'une application sur un support de stockage externe ci-dessus) :
- Nouvel attribut
android:installLocation
de l'élément<manifest>
. Spécifie l'emplacement d'installation par défaut défini par une application.
- Nouvel attribut
- Pour gérer la sauvegarde des données utilisateur (pour en savoir plus, consultez la section Gestionnaire de sauvegarde ci-dessus) :
- Nouvel attribut
android:backupAgent
de l'élément<application>
. Spécifie le nom du composant de la sous-classe BackupAgent fournie par l'application pour gérer les opérations de sauvegarde/restauration, le cas échéant. - Nouvel attribut
android:restoreAnyVersion
de l'élément<application>
. Valeur booléenne indiquant si l'application est prête à tenter de restaurer un ensemble de données sauvegardé, même si la sauvegarde provient apparemment d'une version plus récente de l'application que celle actuellement installée sur l'appareil.
- Nouvel attribut
- Pour gérer le compilateur JIT de la plate-forme :
- Nouvel attribut
android:vmSafeMode
de l'élément<application>
. Valeur booléenne indiquant si les optimisations du compilateur JIT doivent être désactivées lors de l'exécution de l'application.
- Nouvel attribut
Autorisations
android.permission.BIND_DEVICE_ADMIN
: tout broadcast receiver d'administration de l'appareil doit nécessiter cette autorisation pour que seul le système puisse interagir avec lui.android.permission.KILL_BACKGROUND_PROCESSES
: permet à une application d'appelerkillBackgroundProcesses(String)
.android.permission.BIND_WALLPAPER
: touteWallpaperService
doit nécessiter cette autorisation pour que seul le système puisse interagir avec elle.android.permission.SET_TIME
: permet à une application de définir l'heure système.
Rapport sur les différences entre les API
Pour obtenir un aperçu détaillé de toutes les modifications apportées aux API dans Android 2.2 (niveau d'API 8), consultez le rapport de différences des API.