Archives mensuelles: décembre 2014

4 articles

Convertir des fichiers de traductions Android vers Resw ou Resx

Capture d’écran du site WTI Converter

Les fichiers de traductions sont propres à chaque plateforme. Il existe des prémices de standards mais ceux-ci ne sont pas encore respectés sur les différentes plateformes.

Jusqu’il y a encore quelques mois, Android studio ne pouvait supporter que les fichiers de ressources Android (fichiers XML spécifiques).

L’idée est de réutiliser ces fichiers déjà existant dans une application Windows où Windows Phone.

Il existe fort heureusement un site de conversion en ligne qui réalise tout cela très bien !

Capture d'écran du site WTI Converter

http://converter.webtranslateit.com/

Il suffit de lui donner le fichier en entrée et de choisir le format Microsoft resx, resw.

Pour obtenir un fichier resw, il faudra simplement le renommer comme expliqué dans cet article.

A noter qu’il est également possible de générer du XLIF qui s’impose de plus en plus comme le standard de localisation.

 

Image depuis HTTP avec C# XAML – Comparatifs et Performances – Partie 2

Introduction

 wp_ss_20141223_0001

Cet article traite des résultats des différentes méthodes pour lire une image provenant d’un site Http.

Les différentes implémentations ont été décrites dans l’article

Image depuis http avec C# Xaml – comparatifs et performances.

Mesures

L’image étalon fait 19ko et mesure 400×240 pixels. Elle est présente notamment sur les serveurs de Bing à l’adresse suivante :

http://www.bing.com/az/hprichbg/rb/ChristmasMarketNurnberg_FR-FR11351563819_1280x768.JPG

Le premier test va charger 10 fois la même image suivante :

Poursuivre la lecture

Image depuis HTTP avec C# XAML – Comparatifs et Performances – Partie 1

Introduction

Chargement Bitmap Image en Http

Voici un article en 2 parties pour décrire les différentes implémentations possibles de la lecture d’images provenant d’un serveur en Http.
En terme de performances, il existe des différences assez conséquentes suivant les implémentations choisies.

Nous allons voir que parfois les résultats sont assez surprenants.

Charger une image depuis XAML

Le moyen le plus simple pour charger une image reste l’implémentation XAML.

<Image Source="{Binding ImageUrl}" Width="400" Height="240"/>

ImageUrl est de type Url et peut être déclarée de cette façon dans le viewModel associé à la Page.

public  Uri ImageUrl
{
    get
    {
        return new Uri(@"http://www.bing.com/az/hprichbg/rb/SnowyCP_FR-FR11972876588_400x240.jpg");
    }
}

Cette implémentation est très efficace, le contrôle XAML gère quasiment tout pour vous :

  • le chargement en asynchrone : Ne fige pas l’affichage de l’interface lors du chargement
  • la mise en cache mémoire (un seul chargement)
  • L’optimisation http (évite un échange serveur si l’image est déjà chargée)

Cependant l’image chargée en XAML sera de nouveau rechargée à chaque lancement de l’application.
Afin de mettre en place un système de cache persisté, il est nécessaire de charger le contenu de l’image et de la sauvegarder sur le téléphone dans l’Isolated Storage.

Quelles sont les méthodes possibles pour charger et afficher une image en asynchrone ?

Voici 9 façons de faire en Universal Apps (Windows Phone XAML ou Windows 8.1). Leurs temps de réponse seront mesurés sur Windows Phone 8.1 et exposés dans la 2ème partie de cet article.

Implémentations

 

1 – DataWriter

La première implémentation, la plus classique, est d’utiliser un httpClient pour récupérer le flux sous forme de Stream puis de le transférer dans le BitmapImage en passant par un DataWritter.

Windows 8 et les Universal Apps nous obligent à passer par un nouveau type de Stream le InMemoryRandomAccessStream pour l’afficher comme source dans le BitmapImage. Poursuivre la lecture