Niveau d'API:8
Android 2.2 est une version mineure de la plate-forme qui inclut des fonctionnalités utilisateur, des fonctionnalités pour les développeurs, des modifications d'API et des corrections de bugs. Pour en savoir plus sur les fonctionnalités pour les développeurs et les modifications de l'API, consultez la section API Framework.
Pour les développeurs, la plate-forme Android 2.2 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.2, utilisez Android SDK Manager afin de 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 clés de la plate-forme, consultez le document Android 2.2 Platform Highlights (Points forts 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. Un identifiant entier (8) est attribué à l'API Android 2.2, 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.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 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 d'installer dans la mémoire interne de l'appareil.
Les développeurs d'applications peuvent indiquer l'emplacement d'installation privilégié pour leurs applications à l'aide d'un nouvel attribut de <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
à l'emplacement souhaité, si possible. Si l'application a demandé une installation externe, le système l'installe dans une partition privée chiffrée sur le support externe. Une fois qu'un fichier .apk d'une application est installé en externe, le système permet à l'utilisateur de modifier son emplacement de stockage et de le déplacer vers la mémoire interne de l'appareil si nécessaire (et inversement) via l'option "Gérer les applications" des paramètres utilisateur.
Par défaut, le système installe toutes les applications dans la mémoire interne de l'appareil, à l'exception de celles qui demandent explicitement une installation externe. Cela signifie que le système installe 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 d'anciennes versions de la plate-forme et en externe sur les plates-formes Android 2.2 et versions ultérieures, si nécessaire.
Notez qu'une demande d'installation sur le support externe de l'appareil n'est pas adaptée à toutes les applications, en particulier parce que le support externe peut être amovible et que le démontage/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 préféré pour votre application, y compris sur les types d'applications qui peuvent ou non demander une installation externe, consultez 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 que les utilisateurs puissent 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 la zone de stockage de sauvegarde dans le cloud. Le gestionnaire de sauvegarde peut stocker tout type de données, des données arbitraires aux fichiers, et gère les opérations de sauvegarde et de restauration de manière atomique. Pour en savoir plus, consultez l'article Sauvegarde des données.
Graphismes
- Nouvelles API OpenGL ES 2.0 dans
android.opengl.GLES20
. - Nouvelles classes
ETC1
,ETC1Util
etETC1Util.ETC1Texture
et méthodes utilitaires permettant d'utiliser ETC1 pour la compression de texture. - Nouvelle classe
ImageFormat
. - Ajout de
YUV image format API
pour permettre la compression YUV vers JPEG et la manipulation des données YUV.
Contenus multimédias
- Ajout d'API dans
android.media.AudioManager
pour gérer la priorité audio, le contrôle du transport, la perte temporaire de focalisation audio et la diminution. - Nouvel intent de diffusion pour acheminer le contenu audio vers SCO :
ACTION_SCO_AUDIO_STATE_CHANGED
avec des extras indiquant un nouvel état. - Ajout d'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. - Ajout d'API dans
MediaRecorder
permettant de spécifier les paramètres audio pour le nombre de canaux, les taux d'encodage, d'échantillonnage et le taux d'échantillonnage. - Nouvelles API permettant d'ajouter des fichiers à la base de données multimédia afin qu'ils soient automatiquement analysés. Voir
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 de bénéficier d'une interaction plus riche avec le système de reconnaissance vocale disponible. Par exemple, les API suffisent pour intégrer pleinement la reconnaissance vocale à 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-ins. - Nouvelle interface
RecognitionListener
pour recevoir des rappels. - Nouveaux extras
RecognizerIntent
permettant à une application de requête de spécifier des détails comme la langue préférée, la durée minimale en millisecondes, etc.
Appareil photo et caméscope
- Modifications apportées à l'API Camera Preview pour améliorer l'efficacité du pipeline d'aperçu.
- Nouvelle orientation de l'écran pour l'appareil photo (peut désormais fonctionner en mode portrait).
- Nouvelles API dans
android.hardware.Camera
pour gérer le niveau de zoom. - Ajout d'API
android.hardware.Camera.Parameters
permettant d'interroger et de définir les paramètres de l'appareil photo de l'appareil, tels que la distance focale, l'exposition, le niveau de zoom, l'angle de vue, etc. - Nouvel utilitaire
thumbnail
pour les vignettes de vidéos et d'images. - Les nouvelles classes
CamcorderProfile
etCamcorderProfile
permettent aux applications de déterminer les capacités matérielles de l'appareil photo. android.media.ExifInterface
prend désormais en charge la récupération des données GPS et de la distance focale.
Gestionnaire des règles relatives aux appareils
De nouvelles API de gestion des règles relatives aux appareils permettent aux développeurs de créer des applications d'"administrateur d'appareil" pouvant contrôler les fonctionnalités de sécurité de l'appareil, telles que le niveau de sécurité minimal du mot de passe, l'effacement des données, etc. Les utilisateurs peuvent sélectionner les administrateurs qui sont activés sur leurs appareils. Pour en savoir plus, consultez les classes android.app.admin
ou l'exemple de code d'application dans le fichier DeviceAdminSample.java.
Framework d'interface utilisateur
- Les nouveaux modes d'interface utilisateur "mode voiture" et "mode nuit" et
UiModeManager
permettent aux applications d'ajuster l'interface de leur application pour des modes d'utilisateur spécifiques. - Nouveau
ScaleGestureDetector
qui permet à Views de détecter et de gérer les gestes de transformation impliquant plusieurs pointeurs (multitouch) à l'aide des MotionEvents fournis. - Améliorations apportées à la transmission des événements multitouch dans les objets
MotionEvent
. - Changement de nom : l'attribut de mise en page
fill_parent
devientmatch_parent
. Cela concerne à la fois le code XML et le code Java (voirViewGroup.LayoutParams
). Notez que la plate-forme continuera d'accepter l'utilisation 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 "Activité".
Comptes et synchronisation
- La nouvelle méthode
AddPeriodicSync()
vous permet de planifier une synchronisation périodique avec un compte, une autorité ou des éléments supplémentaires spécifiques, à la fréquence donnée.
Nouveaux éléments et attributs du fichier manifeste
- Pour spécifier l'emplacement d'installation préféré de l'application (voir Installation d'applications 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 (consultez la section Gestionnaire de sauvegarde ci-dessus pour plus d'informations) :
- Nouvel attribut
android:backupAgent
de l'élément<application>
. Spécifie le nom de 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 de l'administration de l'appareil doit avoir besoin de cette autorisation pour garantir que seul le système peut interagir avec lui.android.permission.KILL_BACKGROUND_PROCESSES
: permet à une application d'appelerkillBackgroundProcesses(String)
.android.permission.BIND_WALLPAPER
: tout élémentWallpaperService
doit nécessiter cette autorisation pour garantir que seul le système peut 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 une vue détaillée de toutes les modifications apportées à l'API dans Android 2.2 (niveau d'API 8), consultez le rapport sur les différences entre les API.