Gingerbread

La plate-forme Android 2.3 introduit de nombreuses nouvelles fonctionnalités intéressantes pour les utilisateurs et les développeurs. Ce document offre un aperçu de certaines des nouvelles fonctionnalités et technologies d'Android 2.3. Pour en savoir plus sur les nouvelles API de développement, consultez les notes de version d'Android 2.3.

Nouvelles fonctionnalités utilisateur

Amélioration de l'interface utilisateur pour plus de simplicité et de rapidité

L'interface utilisateur est affinée de nombreuses façons dans le système, ce qui la rend plus facile à apprendre, plus rapide à utiliser et plus économe en énergie. Un thème visuel simplifié, composé de couleurs sur le noir, apporte de la vivacité et du contraste à la barre de notification, aux menus et à d'autres parties de l'interface utilisateur. Les modifications apportées aux menus et aux paramètres permettent à l'utilisateur de naviguer et de contrôler plus facilement les fonctionnalités du système et de l'appareil.

Saisie de texte plus rapide et plus intuitive

Le clavier virtuel Android a été repensé et optimisé pour une saisie et une modification de texte plus rapides. Les clés elles-mêmes sont remodelées et repositionnées pour améliorer le ciblage, ce qui les rend plus faciles à voir et à appuyer avec précision, même à des vitesses élevées. Le clavier affiche également les suggestions de caractères et de dictionnaire actuelles dans un style plus grand, plus vif et plus facile à lire.

Le clavier ajoute la possibilité de corriger les mots saisis à partir des suggestions du dictionnaire. Lorsque l'utilisateur sélectionne un mot déjà saisi, le clavier affiche des suggestions parmi lesquelles il peut choisir pour remplacer la sélection. L'utilisateur peut également passer en mode de saisie vocale pour remplacer la sélection. Les suggestions intelligentes permettent à l'utilisateur d'accepter une suggestion, puis de la corriger ultérieurement, si nécessaire, à partir de l'ensemble de suggestions d'origine.

Le nouvel accord de touche multipoint permet à l'utilisateur de saisir rapidement des chiffres et des symboles en appuyant sur Maj+<lettre> et ?123+<symbol>, sans avoir à changer manuellement de mode de saisie. À partir de certaines touches, les utilisateurs peuvent également accéder à un menu pop-up de caractères accentués, de chiffres et de symboles en maintenant la touche enfoncée et en faisant glisser le curseur pour sélectionner un caractère.

Sélection et copier-coller des mots en un seul geste

Lorsqu'il saisit du texte ou consulte une page Web, l'utilisateur peut rapidement sélectionner un mot en appuyant de manière prolongée, le copier dans le presse-papiers et le coller. Appuyer sur un mot passe en mode de sélection libre : l'utilisateur peut ajuster la zone de sélection selon les besoins en faisant glisser un ensemble de flèches de délimitation vers de nouvelles positions, puis en copiant la zone délimitée en appuyant n'importe où dans la zone de sélection. Pour la saisie de texte, l'utilisateur peut faire glisser le curseur pour passer en mode curseur, puis repositionner le curseur facilement et avec précision en faisant glisser la flèche du curseur. Avec les modes Sélection et Curseur, aucune utilisation de trackball n'est nécessaire.

Amélioration de la gestion de l'alimentation

Le système Android joue un rôle plus actif dans la gestion des applications qui maintiennent l'appareil activé trop longtemps ou qui utilisent le processeur en arrière-plan. En gérant ces applications (en les fermant si nécessaire), le système contribue à garantir les meilleures performances possibles et une autonomie maximale de la batterie.

Le système offre également à l'utilisateur une plus grande visibilité sur la puissance consommée par les composants système et les applications en cours d'exécution. Les paramètres de l'application fournissent un aperçu précis de l'utilisation de la batterie, avec des détails sur l'utilisation et la consommation relative de chaque composant ou application.

Contrôle des applications

Un raccourci vers la commande "Gérer les applications" apparaît désormais dans le menu d'options de l'écran d'accueil et du lanceur d'applications, ce qui facilite la vérification et la gestion de l'activité des applications. Une fois que l'utilisateur accède à la page "Gérer les applications", un nouvel onglet "En cours d'exécution" affiche la liste des applications actives, ainsi que l'espace de stockage et la mémoire utilisés par chacune d'elles. L'utilisateur peut lire plus d'informations sur chaque application et, si nécessaire, arrêter une application ou envoyer des commentaires à son développeur.

De nouvelles façons de communiquer et de s'organiser

Un ensemble mis à jour d'applications standards permet à l'utilisateur d'adopter de nouvelles approches de la gestion des informations et des relations.


Appels Internet

L'utilisateur peut passer des appels vocaux via Internet à d'autres utilisateurs disposant d'un compte SIP. L'utilisateur peut ajouter un numéro d'appel Internet (adresse SIP) à n'importe quel contact et initier un appel à partir des contacts rapides ou de l'application Téléphone. Pour utiliser les appels Internet, l'utilisateur doit créer un compte auprès du fournisseur SIP de son choix. Les comptes SIP ne sont pas fournis dans le cadre de la fonctionnalité d'appel Internet. En outre, la prise en charge des fonctionnalités d'appel SIP et Internet de la plate-forme sur des appareils spécifiques est déterminée par leurs fabricants et opérateurs associés.

Communication en champ proche

Une application de lecteur NFC permet à l'utilisateur de lire des tags NFC (communication en champ proche) et d'interagir avec eux. Par exemple, l'utilisateur peut "toucher" ou "faire glisser" un tag NFC qui peut être intégré dans une affiche, un autocollant ou une publicité, puis agir sur les données lues à partir du tag. L'utilisation typique consiste à lire une balise dans un restaurant, un magasin ou un événement, puis à l'évaluer ou à s'inscrire en accédant à un site Web dont l'URL est incluse dans les données de la balise. La communication NFC repose sur la technologie sans fil intégrée au matériel de l'appareil. Par conséquent, la prise en charge des fonctionnalités NFC de la plate-forme sur des appareils spécifiques est déterminée par leur fabricant.

Gestion des téléchargements

L'application Téléchargements permet à l'utilisateur d'accéder facilement à n'importe quel fichier téléchargé à partir du navigateur, de l'e-mail ou d'une autre application. Les téléchargements sont basés sur une toute nouvelle fonction de gestionnaire de téléchargements dans le système que toutes les autres applications peuvent utiliser, afin de gérer et de stocker plus facilement leurs téléchargements.

Module photo

L'application permet désormais à l'utilisateur d'accéder à plusieurs caméras sur l'appareil, y compris une caméra frontale, le cas échéant.

Nouvelles fonctionnalités pour les développeurs

Android 2.3 offre diverses fonctionnalités et API qui permettent aux développeurs d'importer de nouveaux types d'applications sur la plate-forme Android.

Améliorations pour les jeux vidéo

Performances

Android 2.3 inclut diverses améliorations sur le système qui rendent les opérations courantes plus rapides et plus efficaces pour toutes les applications. Les développeurs de jeux sont particulièrement intéressés:

  • Récupérateur de mémoire simultané : la VM Dalvik introduit un nouveau récupérateur de mémoire simultané qui minimise les pauses des applications, contribuant ainsi à une animation plus fluide et à une réactivité accrue dans les jeux et les applications similaires.
  • Distribution plus rapide des événements : la plate-forme gère désormais les événements tactiles et ceux du clavier plus rapidement et plus efficacement, ce qui réduit l'utilisation du processeur lors de la distribution des événements. Ces modifications améliorent la réactivité de toutes les applications, mais sont particulièrement bénéfiques pour les jeux qui utilisent des événements tactiles en combinaison avec des graphismes 3D ou d'autres opérations nécessitant une utilisation intensive du processeur.
  • Mise à jour des pilotes vidéo : la plate-forme utilise des pilotes vidéo tiers mis à jour qui améliorent l'efficacité des opérations OpenGL ES et accélèrent les performances graphiques 3D globales.

Événements d'entrée et de capteur natifs

Les applications qui utilisent du code natif peuvent désormais recevoir et traiter des événements d'entrée et de capteur directement dans leur code natif, ce qui améliore considérablement l'efficacité et la réactivité.

Les bibliothèques natives exposées par la plate-forme permettent aux applications de gérer les mêmes types d'événements d'entrée que ceux disponibles via le framework. Les applications peuvent recevoir des événements de tous les types de capteurs compatibles, activer ou désactiver des capteurs spécifiques, et gérer la fréquence de diffusion des événements et la mise en file d'attente.

Gyroscope et autres nouveaux capteurs pour améliorer le traitement des mouvements 3D

Android 2.3 est compatible avec l'API de plusieurs nouveaux types de capteurs, y compris le gyroscope, le vecteur de rotation, l'accélération linéaire, la gravité et le baromètre. Les applications peuvent combiner les nouveaux capteurs avec tous les autres capteurs disponibles sur l'appareil pour suivre avec une grande précision les mouvements et les changements d'orientation de l'appareil en trois dimensions. Par exemple, une application de jeu peut utiliser les mesures d'un gyroscope et d'un accéléromètre de l'appareil pour reconnaître les gestes et les mouvements complexes des utilisateurs, tels que l'inclinaison, la rotation, la poussée et les tranches.

Open API pour l'audio natif

La plate-forme fournit une implémentation logicielle de Khronos OpenSL ES, une API standard qui permet aux applications d'accéder à des commandes audio et à des effets puissants à partir du code natif. Les applications peuvent utiliser l'API pour gérer les appareils audio et contrôler l'entrée, la sortie et le traitement audio directement à partir du code natif.

Gestion des éléments graphiques natifs

La plate-forme fournit une interface à sa bibliothèque Khronos EGL, qui permet aux applications de gérer les contextes graphiques, ainsi que de créer et de gérer des textures et des surfaces OpenGL ES à partir de code natif.

Accès natif au cycle de vie d'une activité, à la gestion des fenêtres

Les applications natives peuvent déclarer un nouveau type de classe d'activité, NativeActivity, dont les rappels de cycle de vie sont implémentés directement dans le code natif. NativeActivity et son code natif sous-jacent s'exécutent dans le système, tout comme les autres activités. Ils s'exécutent dans le processus système de l'application et sur le thread UI principal de l'application, et reçoivent les mêmes rappels de cycle de vie que les autres activités.

La plate-forme expose également des API natives pour la gestion des fenêtres, y compris la possibilité de verrouiller/déverrouiller le tampon de pixels pour y dessiner directement. Via l'API, les applications peuvent obtenir un objet de fenêtre natif associé à un objet Surface de framework et interagir directement avec lui dans le code natif.

Accès natif aux ressources, au stockage

Les applications peuvent désormais accéder à une API Asset Manager native pour récupérer des éléments d'application directement à partir du code natif sans passer par JNI. Si les éléments sont compressés, la plate-forme effectue une décompression en flux continu pendant que l'application lit les données des éléments. La taille des éléments .apk compressés pouvant être lus n'est plus limitée.

En outre, les applications peuvent accéder à une API Storage Manager native pour travailler directement avec des fichiers OBB téléchargés et gérés par le système. Bien que la plate-forme compatible avec le format OBB soit compatible avec Android 2.3, les outils de développement permettant de créer et de gérer des fichiers OBB ne seront pas disponibles avant début 2011.

Environnement de développement natif robuste

Le NDK Android (r5 ou version ultérieure) fournit un ensemble complet d'outils, de chaînes d'outils et de bibliothèques pour développer des applications qui utilisent le riche environnement natif proposé par la plate-forme Android 2.3. Pour en savoir plus ou pour télécharger le NDK, consultez la page du NDK Android.

Nouvelles formes de communication

Téléphonie Internet

Les développeurs peuvent désormais ajouter des fonctionnalités de téléphonie Internet basées sur SIP à leurs applications. Android 2.3 inclut une pile de protocoles SIP complète et des services de gestion des appels intégrés qui permettent aux applications de configurer facilement les appels vocaux sortants et entrants, sans avoir à gérer directement les sessions, la communication au niveau du transport, ni l'enregistrement ou la lecture audio.

La prise en charge des fonctionnalités d'appel SIP et Internet de la plate-forme sur des appareils spécifiques est déterminée par leurs fabricants et opérateurs associés.

Technologie NFC (communication en champ proche)

La compatibilité de la plate-forme avec la technologie NFC (communication en champ proche) permet aux développeurs de se lancer dans la création d'une toute nouvelle catégorie d'applications pour Android. Les développeurs peuvent créer des applications qui offrent des informations et des services basés sur la proximité aux utilisateurs, aux entreprises, aux marchands et aux annonceurs.

Grâce à l'API NFC, les applications peuvent lire les tags NFC "découverts" et y répondre lorsque l'utilisateur "touche" un appareil compatible NFC sur des éléments intégrés dans des autocollants, des affiches intelligentes et même d'autres appareils. Lorsqu'une balise d'intérêt est collectée, les applications peuvent y répondre, lire les messages qu'elle contient, puis stocker les messages, en invitant l'utilisateur si nécessaire.

À partir d'Android 2.3.3, les applications peuvent également écrire dans des tags et configurer des connexions peer-to-peer avec d'autres appareils NFC.

La communication NFC repose sur la technologie sans fil intégrée au matériel de l'appareil. Par conséquent, la prise en charge des fonctionnalités NFC de la plate-forme sur des appareils spécifiques est déterminée par leurs fabricants.

Rich media

Effets audio mixables

Une nouvelle API d'effets audio permet aux développeurs de créer facilement des environnements audio riches en ajoutant l'égalisation, l'amplification des basses, la virtualisation des casques (scène sonore élargie) et la réverbération aux pistes audio et aux sons. Les développeurs peuvent mélanger plusieurs effets audio dans une piste locale ou appliquer des effets à l'échelle mondiale sur plusieurs pistes.

Prise en charge de nouveaux formats multimédias

La plate-forme est désormais compatible avec le format de compression vidéo ouverte VP8 et le format de conteneur ouvert WebM. La plate-forme prend également en charge l'encodage AAC et l'encodage AMR large bande (dans le logiciel), afin que les applications puissent capturer une qualité audio supérieure à celle de la bande étroite.

Accès à plusieurs caméras

L'API Camera permet désormais aux développeurs d'accéder à toutes les caméras disponibles sur un appareil, y compris une caméra frontale. Les applications peuvent interroger la plate-forme pour connaître le nombre d'appareils photo sur l'appareil ainsi que leurs types et leurs caractéristiques, puis ouvrir l'appareil photo nécessaire. Par exemple, une application de chat vidéo peut souhaiter accéder à une caméra avant offrant une résolution plus faible, tandis qu'une application photo peut préférer une caméra arrière offrant une résolution plus élevée.

Nouvelles technologies de plate-forme

Media Framework

  • Le nouveau framework multimédia remplace complètement OpenCore, tout en conservant la compatibilité précédente des codecs/conteneurs pour l'encodage et le décodage.
  • Compatibilité intégrée avec le format de compression vidéo ouverte VP8 et le format de conteneur ouvert WebM
  • Ajout de l'encodage AAC et de l'encodage AMR large bande

Kernel Linux

  • Mise à niveau vers la version 2.6.35

Mise en réseau

  • Pile SIP, configurable par le fabricant de l'appareil
  • Compatibilité avec la technologie NFC (communication en champ proche), configurable par le fabricant de l'appareil.
  • Mise à jour de la pile BlueZ

Environnement d'exécution Dalvik

  • VM Dalvik :
    • Récupérateur de mémoire simultané (pauses cibles inférieures à 3 ms)
    • Ajout d'autres optimisations JIT (génération de code)
    • Amélioration de la vérification du code
    • Débogage StrictMode, pour identifier les problèmes de performances et de mémoire
  • Bibliothèques principales :
    • Compatibilité étendue avec la technologie I18N (encodages internationaux complets, nouveaux paramètres régionaux)
    • Outil de mise en forme et de mise en forme des nombres plus rapide. Par exemple, le formatage flottant est 2,5 fois plus rapide.
    • Par défaut, les réponses HTTP sont compressées avec gzip. La taille des réponses des API XML et JSON peut être réduite d'au moins 60 %.
    • Nouvelles API de collections et d'utilitaires
    • Amélioration des API réseau
    • Amélioration des commandes de lecture et d'écriture de fichiers
    • JDBC mis à jour
  • Mises à jour des projets en amont :
    • OpenSSL 1.0.0a
    • BouncyCastle 1.45
    • ICU 4.4
    • zlib 1.2.5

Pour en savoir plus sur les nouvelles API pour les développeurs, consultez les notes de version d'Android 2.3 et le rapport sur les différences entre les API.