Accès aux données de l’application à l’aide de Windows Runtime (applications Windows Runtime)

Applies to Windows and Windows Phone

Les données d’application sont des données mutables spécifiques à une application particulière. Elles comprennent l’état d’exécution, les préférences utilisateur et d’autres paramètres. Les données d’application sont créées, lues, mises à jour et supprimées lors de l’exécution de l’application.

Pour les applications de bureau, nous vous recommandons d’utiliser le Registre pour stocker leurs paramètres et le dossier Program Files pour stocker leurs fichiers. Pour les applications Windows Runtime, nous vous recommandons d’utiliser des magasins de données d’application pour les paramètres et les fichiers spécifiques à chaque application et utilisateur. Le système gère les magasins de données d’une application en veillant à ce qu’ils restent isolés des autres applications et utilisateurs. De même, le système préserve le contenu de ces magasins de données lorsque l’utilisateur installe une mise à jour de votre application et supprime intégralement l’ensemble du contenu de ces magasins de données lorsque votre application est désinstallée.

L’exemple de données d’application montre comment utiliser les API de données d’application Windows Runtime pour stocker et récupérer des données spécifiques à chaque utilisateur et application Windows Runtime.

Remarque importante sur les données d’application:  La durée de vie des données d’application est liée à celle de l’application. Si l’application est supprimée, toutes les données d’application sont par conséquent perdues. N’utilisez pas les données d’application pour stocker des données utilisateur ni d’autres éléments que les utilisateurs peuvent considérer comme précieux et irremplaçables. Nous vous conseillons d’utiliser les bibliothèques de l’utilisateur et OneDrive pour stocker ce type d’informations. Les données d’application sont idéales pour le stockage des préférences utilisateur, paramètres et favoris spécifiques à l’application.

Stockage de données de l’application

Quand une application est installée, le système lui attribue ses propres magasins de données par utilisateur pour y stocker les données d’application telles que les paramètres et les fichiers. Vous n’avez pas besoin de connaître l’emplacement et le mode de stockage de ces données : le système est responsable de la gestion du stockage physique. Utilisez simplement l’API de données d’application, qui vous permet d’utiliser facilement vos données d’application.

Voici les différents magasins de données :

local

Données qui se trouvent sur le périphérique actuel et qui sont sauvegardées dans le Cloud.

roaming

Données qui existent sur tous les périphériques sur lesquels l’utilisateur a installé l’application.

temporary

Données susceptibles d’être supprimées à tout moment par le système.

localcache

Données persistantes qui existent uniquement sur le périphérique actuel.

Ces magasins de données sont supprimés en même temps que votre application.

Vous pouvez éventuellement créer différentes versions des données d’application pour votre application. Vous pouvez par exemple créer une nouvelle version de votre application qui aura pour effet de changer le format de ses données d’application sans pour autant causer de problèmes de compatibilité avec la version précédente de l’application. L’application examine la version des données d’application dans le magasin de données et si la version est antérieure à la version attendue par l’application, celle-ci doit mettre à jour les données d’application vers le nouveau format et mettre à jour la version. Pour plus d’informations, voir la propriété Application.Version et la méthode ApplicationData.SetVersionAsync.

Paramètres d’application

Les paramètres contenus dans le magasin de données d’application sont stockés dans le Registre. Quand vous utilisez l’API de données d’application, l’accès au Registre est transparent. Chaque application dispose d’un conteneur racine de paramètres dans son magasin de données d’application. Votre application peut ajouter des paramètres et de nouveaux conteneurs au conteneur racine. Le fait de créer de nouveaux conteneurs vous permet de mieux organiser vos paramètres. Notez qu’il est possible d’imbriquer les conteneurs dans la profondeur sur 32 niveaux, sans aucune limitation sur le plan de la largeur de l’arborescence.

Utilisez des paramètres composites pour gérer facilement les mises à jour atomiques des paramètres interdépendants. Le système assure l’intégrité des paramètres composites lors d’accès simultanés et dans le cadre de l’itinérance. Les paramètres composites étant optimisés pour de faibles volumes de données, leur utilisation pour des jeux de données volumineux peut nuire aux performances.

Les paramètres d’application peuvent être locaux ou itinérants. Les paramètres que votre application ajoute au magasin de données local sont présents uniquement sur le périphérique local. Le système synchronise automatiquement les paramètres que votre application ajoute au magasin de données itinérantes sur tous les périphériques sur lesquels l’utilisateur a installé l’application.

La plupart des types de données Windows Runtime sont pris en charge pour les paramètres d’application :

Notez qu’il n’existe pas de type binaire. Si vous avez besoin de stocker des données binaires, utilisez un fichier d’application.

Vous ne pouvez pas directement assigner d’autres types d’objets à des données d’application. Vous pouvez sérialiser les données en l’un des types de données pris en charge, par exemple en JSON et les stocker sous forme de chaîne, mais vous devez gérer la sérialisation.

Le système vérifie que la taille des données écrites correspond à la taille du type de données. Étant donné que le système ne valide pas les données, il vous appartient de vérifier si les données ont changé entre le moment où vous les écrivez et le moment où vous les relisez.

Fichiers d’application

Les fichiers contenus dans le magasin de données d’application sont stockés dans le système de fichiers. Les applications peuvent utiliser les fichiers du magasin de données d’application de la même façon que les fichiers contenus dans la partie AppData du profil de l’utilisateur dans Windows 7. Le magasin de données de chaque application comprend des répertoires racines définis par le système : un pour les fichiers locaux, un pour les fichiers itinérants et un pour les fichiers temporaires. Votre application peut ajouter de nouveaux fichiers et répertoires au répertoire racine. Le fait de créer de nouveaux répertoires vous permet de mieux organiser vos fichiers. Notez qu’il est possible d’imbriquer des répertoires dans le magasin de données d’application dans la profondeur sur 32 niveaux, sans aucune limitation sur le plan de la largeur de l’arborescence.

Les fichiers d’application peuvent être locaux ou itinérants. Les fichiers que votre application ajoute au magasin de données local sont présents uniquement sur le périphérique local. Le système synchronise automatiquement les fichiers que votre application ajoute au magasin de données itinérantes sur tous les périphériques sur lesquels l’utilisateur a installé l’application.

Données d’application locales

Les données d’application locales doivent être utilisées pour toutes les informations à préserver entre les sessions d’application. Elles ne conviennent pas en termes de type ou de taille pour les données d’application itinérantes. Les données non applicables à d’autres appareils doivent également y être conservées. Il n’existe pas de limitation générale de taille sur les données locales stockées. L’emplacement est disponible via la propriété localFolder. Utilisez le magasin de données d’application local pour les données qui n’ont pas lieu d’utiliser un profil itinérant et pour les jeux de données volumineux.

Pour obtenir un exemple de code, voir :

Données d’application itinérantes

Si vous utilisez des données itinérantes dans votre application, vos utilisateurs peuvent facilement maintenir les données de votre application synchronisées sur les différents périphériques. Si un utilisateur installe votre application sur plusieurs périphériques, le système d’exploitation maintient les données d’application synchronisées, ce qui réduit le nombre de tâches de configuration de l’application que l’utilisateur doit effectuer sur ses autres périphériques. De même, l’itinérance permet aux utilisateurs de reprendre une tâche (par exemple, composer une liste) à l’endroit même où ils l’ont abandonnée, y compris sur un autre périphérique. Le système d’exploitation réplique les données itinérantes sur le Cloud quand elles sont mises à jour et les synchronise sur les autres périphériques sur lesquels l’application est installée.

Le système d’exploitation limite la taille des données d’application que chaque application peut rendre itinérantes. Voir ApplicationData.RoamingStorageQuota | roamingStorageQuota. Si l’application atteint cette limite, aucune donnée de l’application n’est répliquée sur le Cloud tant que le volume total des données d’application itinérantes de l’application n’est pas inférieur à la limite. Pour cette raison, il est recommandé d’utiliser les données itinérantes uniquement pour les préférences utilisateur, les liens et les petits fichiers de données.

En principe, les données d’une application ne changent pas. En revanche, les données d’application itinérantes peuvent changer à tout moment. Une application doit s’inscrire pour gérer l’événement DataChanged | datachanged, qui se produit chaque fois que des données d’application itinérantes sont modifiées.

Si les données d’application sur un périphérique sont mises à jour vers une nouvelle version après que l’utilisateur a installé une version plus récente de l’application, ses données d’application sont copiées sur le Cloud. Le système ne met pas à jour les données d’application au niveau des autres périphériques sur lesquels l’utilisateur a installé l’application tant que celle-ci n’est pas également mise à jour sur ces périphériques.

Les données itinérantes d’une application sont disponibles dans le Cloud du moment où l’utilisateur y a accédé à partir d’un périphérique dans le délai imparti. Si l’utilisateur n’exécute pas une application au-delà de ce délai, ses données itinérantes sont supprimées du Cloud. Si un utilisateur désinstalle une application, ses données itinérantes ne sont pas supprimées automatiquement du Cloud : elles sont préservées. De ce fait, si l’utilisateur réinstalle l’application dans les délais, les données itinérantes sont synchronisées à partir du Cloud. La stratégie actuelle fixe ce délai à 30 jours. L’emplacement est disponible via la propriété roamingFolder.

Le système d’exploitation rend itinérantes les données d’application de façon opportuniste et ne garantit pas une synchronisation immédiate. Dans les cas où un utilisateur est hors connexion ou sur un réseau à latence élevée, l’itinérance pourrait être sensiblement retardée. Pour les paramètres importants et chronosensibles, une unité de paramètres spéciale à haute priorité est disponible pour assurer des mises à jour plus fréquentes. Elle est limitée à une seule unité de paramètres spéciale, qui doit être nommée « HighPriority ». Elle peut être composite, mais la taille totale est limitée à 8 Ko. Cette limite n’est pas appliquée et l’unité de paramètre ou le composite de paramètre est traité comme une unité de paramètres standard ou un composite si la limite est dépassée.

Pour obtenir un exemple de code, voir :

Pour obtenir des recommandations, voir Recommandations en matière de données d’application itinérantes.

Données d’application temporaires

Le magasin de données d’application temporaires fonctionne comme un cache. Ses fichiers n’utilisent pas de profil itinérant et ne peuvent pas être supprimées à tout moment. La tâche Maintenance du système peut supprimer automatiquement les données stockées à cet emplacement à tout moment. L’utilisateur peut également effacer les fichiers du magasin de données temporaires à l’aide de l’outil Nettoyage de disque. Les données d’application temporaires sont utilisables pour stocker des informations provisoires au cours d’une session d’application. Il n’existe aucune garantie de persistance de ces données au-delà de la fin de la session d’application, car le système peut récupérer l’espace utilisé si nécessaire. L’emplacement est disponible via la propriété temporaryFolder.

Pour obtenir un exemple de code, voir :

Interfaces de programmation de données d’application

Rubriques associées

Recommandations
Recommandations en matière de données d’application itinérantes
Recommandations en matière de paramètres de l’application
Exemples
Exemple de paramètres d’application
Exemple de données d’application

 

 

Afficher:
© 2014 Microsoft