Viewer d’image Windows Phone 8 pour grosse feignasse

Voilà un titre qui parlera à beaucoup d’entre vous (dont moi) et qui a le mérite d’être clair sur les intentions de cet article.
Le développeur, par essence, est paresseux et il est prêt à des trésors d’espièglerie pour faire coder des morceaux de son applications par d’autres.

Windows Phone est plutôt très aimable de ce coté là car il propose quantité de classes « Launchers » et « Choosers » qui permettent de simplifier la vie du développeur tout en sécurisant son application.

L’objectifs de ces classes est de lui proposer des services systèmes prêt à l’emploi, dont l’utilisation est très aisée. Cela permet, par exemple la sélection d’une image dans la Média Library, l’écriture d’un mail, etc…

http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff769542(v=vs.105).aspx

Mais savez-vous qu’il existe d’autres « Launchers » cachés dans l’API Windows Phone ?

En tant que grosse feignasse, vous êtes désormais à l’écoute.

Un Viewer d’image ?

Il arrive souvent dans une application d’avoir besoin d’afficher une image.

Dialogues typiques :

– Tu peux rajouter un viewer de l’image du produit ?

– Héhé fastoche. Je crée une page XAML avec un contrôle Image. Hop ! c’est fini.

– Tu peux aussi rajouter un menu pour sauver l’image et, disons, la mettre en Ecran de démarrage parce que bon c’est cool non ?

– PFFFFFFF! Bon je rajoute le menu puis petite sauvegarde dans la Media Librairy puis c’est quoi la doc sur le LockScreen déjà ?

– Oui mais on aimerait pouvoir la zoomer également. Avec une inertie dans les déplacements. Ca gère le GIF au fait ?.

– …

Décès du dévéloppeur.

Farniente-Man à la rescousse !

Afin d’éviter un certain nombre d’AVC à mes concitoyens et amis développeurs voici donc le moyen d’afficher en deux lignes de code un Viewer d’image PNG, JPEG, ICO, TIFF, BMP et GIF (mais pas animé).

L’astuce consiste à enregistrer votre image dans l’isolatedStorage puis de faire un appel à LaunchFileAsync qui s’occupera d’appeler le viewer d’image du système.

// Lecture de l'image
var file = await Windows.Storage.ApplicationData.Current.LocalFolder.GetFileAsync("ScreenShotPaddleGBA.png");
// Lancement du viewer
bool isLaunched = await Launcher.LaunchFileAsync(file);

et voila !

Viewer

Encore plus de paresse !

Ah mes amis ! Je vous vois satisfait de ce petit trick qui va vous permettre de faire plus de veille sur « Bonjour Madame » !
Sachez qu’il est aussi possible de lancer facilement d’autres viewers système en choisissant d’autres types de fichier : lecture de son, de vidéo, de fichier zip, texte et autres fichiers Office sont également possibles.

Vous trouverez la liste exhaustive des extensions réservées par le système dans ce lien.

http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj207065(v=vs.105).aspx

Pour conclure, aucun risque que votre viewer soit remplacer par une autre app car ces extensions de fichier ne sont utilisables que par le système.

A très bientôt pour de nouvelles avenZZZZZZZZZZZZ…

leave your comment