Google vient de mettre à jour son OS vedette : Android. Comme à chaque fois, vous trouverez divers articles sur le net décrivant les nouvelles fonctionnalités, cet article se focalisera donc sur les changements pour les développeurs et plus particulièrement ceux qui concernent l'évolution de la plateforme...
- Un nouveau framework permettra enfin aux utilisateurs d'imprimer des documents par l'intermédiaire d'un Service. Ce dernier intègre entre autres la recherche d'imprimantes réseau, le choix de la taille du papier d'impression ou encore le numéro des pages à sortir. Il est ainsi possible de tirer sur papier des images, des documents, ou même les graphismes contenus dans un Canvas. Android utilise le format PDF pour échanger avec l'imprimante. Cette nouvelle API permet ainsi de créer rapidement un PDF pour l'envoyer ensuite.
- Le nouveau package CardEmulation a pour but de pouvoir émuler une carte de paiement avec son téléphone. L'émulation de carte est déjà possible pour les téléphones qui disposent d'un "secure element" sur leur puce NFC. Ces nouvelles classes permettent de réaliser la même fonction mais sans ce "secure element". Autre nouveauté intéressante en lien avec le NFC : la capacité de filtrer la lecture de certains tags NFC.
- Il est désormais possible de réaliser des captures vidéos de votre téléphone en action ! Cela permettra notamment de réaliser des "screenscasts" pour les utilisateurs de vos applications plus facilement. Les vidéos sont stockées dans un conteneur mp4. Cette fonctionnalité est accessible via la commande : adb shell screenrecord, ou avec l'outil DDMS.
- Afin de prolonger la durée de vie des batteries, l'AlarmManager ne garantit plus l’exécution à un temps précis. En effet, si plusieurs timers sont proches dans le temps, Android les déclenchera simultanément. Il reste toutefois possible d'éviter ce comportement en utilisant la méthode : AlarmManager.setExact().
- De nouveaux capteurs sont exposés dans le SDK 4.4. On trouve désormais un podomètre et un magnétomètre. De plus, comme pour l'AlarmManager, leur utilisation a été revue pour optimiser la consommation d'énergie. Par exemple, plutôt que de réveiller le CPU dès qu'un évènement s'est produit, il est possible de spécifier à quelle fréquence vous désirez être notifié de l'arrivée de données nouvelles.
- Deux nouveaux fournisseurs de contenus (Content Provider) font leur apparition. Le "SMS Provider" fournit une API commune pour accéder aux SMS. Ainsi, l'utilisateur peut choisir l'application par défaut qu'il souhaite pour lire et écrire ses messages, et ce sera celle-ci qui sera dorénavant notifiée de l'arrivée de nouveaux messages. Ce changement est sûrement lié au fait que Google va intégrer la gestion des SMS dans son application Hangouts. Le "Document Provider" permet de son côté de gérer le stockage de ses divers documents (textes, images, photos, vidéos,...) sur des espaces de type Cloud. L'accès se fait ainsi de manière transparente pour l'utilisateur entre ses fichiers locaux et distants à travers l'ensemble des applications qui utilisent ce nouveau framework. Bien sûr, Google Drive est proposé d'office à l'utilisateur, mais on peut aussi espérer que des solutions libres comme OwnCloud tirent parti de ces changements.
- RenderScript est une API bas-niveau permettant de bénéficier de hautes performances en réalisant des algorithmes intensifs. Entre autres, RenderScript est chargé de répartir les calculs gourmands sur les différents coeurs CPU et GPU. Jusqu'à maintenant,RenderScript n'était disponible que pour la couche Java. À partir de Android KitKat, il est désormais possible d'utiliser RenderScript directement depuis le NDK, grâce à une API en C++. De plus, le support de l'accélération graphique a été étendu à de nouveaux appareils de la gamme Nexus (4, 5, 7 et 10).
- Enfin, ART est sûrement la nouveauté la plus intrigante de cette version. ART est une alternative à la machine virtuelle Java Dalvik. Des rumeurs couraient déjà sur le fait que Google cherchait à optimiser Dalvik en profondeur. Android 4.4 officialise cette nouvelle avec la possibilité pour les développeurs de choisir dans les options de l'émulateur entre ART et Dalvik. Une page sur AOSP présente d'ailleurs ce nouvel outil. Toutefois, ART reste pour l'instant au stade de projet expérimental. Son inclusion devrait permettre des retours rapides de développeurs qui permettront peut-être à Google de remplacer Dalvik dans de futures versions.
Cette version 4.4 est donc particulièrement riche en nouveautés pour les développeurs ! Mais ce n'est pas tout : un point intéressant est le rabaissement de la limite de mémoire nécessaire au bon fonctionnement d'Android, passant de 1Go à 512Mo. Un pas de plus pour l'adoption d'Android sur des plate-formes embarquées?