Electric Dreams

Share Button

Mais enfin c’est quoi un Daydream ?

Tout le monde connaît les fameux économiseurs d’écran. Qu’il s’agisse d’un simple logo qui bouge, ou d’un véritable aquarium virtuel, ils existent depuis bien longtemps. Néanmoins, dans le monde du mobile, c’est une notion qui n’existe pas vraiment.

Pourtant, il existe une fonctionnalité qui s’en rapproche sur Android : le daydream (API 17). Celui-ci peut en effet satisfaire les amateurs de poissons rouges en 3D, mais aussi et surtout réaliser tout un tas de traitements utiles : appeler un web service, afficher un flux RSS, et même offrir de l’interaction ! Cela permet d’afficher quelque chose de sympathique lorsque son appareil est en charge ou sur un dock.

Et pour les développeurs Android, il est vraiment très simple de faire vos propres daydreams. Alors, vous êtes convaincu de vous embarquer dans l’aventure ?

 

En route !

Créer un daydream est enfantin ! La première étape consiste à simplement créer une classe héritant de DreamService.

Vous aurez ensuite 4 méthodes à surcharger :

  • onDreamingStarted() : c’est là que les affaires commencent ! Vous pouvez lancer par exemple des animations. Après tout, s’il s’agit d’un économiseur d’écran, il faut que ça bouge un peu !
  • onDreamingStopped() : on se réveille ! C’est ici que le rêve s’arrête, ainsi que les traitements et animations commencés dans la méthode onDreamingStarted
  • onDetachedFromWindow() : à ce moment-là, vous pouvez libérer d’éventuelles ressources comme les listeners.

Vous devez également ajouter votre service à votre manifest. Et voilà, vous êtes prêt !

Nous vous conseillons d’aller voir la doc pour en savoir un peu plus :http://developer.android.com/reference/android/service/dreams/DreamService.html

Quelques méthodes bien utiles…

… A appeler dans la méthode onAttachedToWindow

  • setContentView : pour ajouter une vue à votre daydream
  • setFullscreen : si vous souhaitez conserver ou non l’interface du système
  • setInteractive : indique si l’utilisateur peut interagir avec le daydream ou non. A noter qu’il sera dans ce cas à vous de gérer le réveil (entendez par-là la sortie du daydream).

 

Jusqu’au bout du rêve

Vous vous en serez rendu compte, on peut tout faire, ou presque, sur un daydream ! Chez iD.apps, nous avons décidé de nous amuser à créer un diaporama de photos issues de l’API picture of the day de la NASA (https://api.nasa.gov/api.html). Cela permet d’égayer nos journées avec un joli défilé de photos spatiales.

Space

Et pour vous prouver que vraiment, ce n’est pas compliqué, nous avons publié sur Github le code de notre daydream. N’hésitez pas à aller y jeter un coup d’oeil, et éventuellement le forker pour modifier la source des images. N’hésitez pas non plus à nous soumettre une pull request si vous voulez nous aider à l’améliorer.

https://github.com/idapps/Interstellar-Daydream

Actuellement, le daydream affiche les photos de l’API, ainsi que leur nom et leur description. Ceux-ci changent toutes les minutes, afin de vous laisser le temps de lire le texte.

 

Vers l’infini et au-delà !

Notre daydream de l’espace n’est bien entendu qu’une première version, et pourrait facilement être amélioré. Il est par exemple possible d’ajouter une base de données embarquée pour pouvoir faire défiler des photos venant d’une période de temps plus longue, ou le rendre compatible smartphone et tablette. On pourrait même imaginer un écran de paramètres pour configurer diverses choses comme les temps de transition !

La conclusion est simple : les possibilités sont infinies. Il ne reste plus qu’à trouver l’API de vos rêves !

Share Button

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *