Langage: HTML | XAML

Démarrage rapide : données d’application itinérantes (XAML)

Applies to Windows and Windows Phone

Découvrez comment stocker et récupérer des paramètres et des fichiers à partir du magasin de données d’application itinérantes. Pour plus d’informations sur les données d’application itinérantes et l’intérêt qu’elles présentent pour vous, voir Données d’application itinérantes.

Feuille de route : comment cette rubrique s’articule-t-elle par rapport aux autres ? Voir :

S’inscrire pour recevoir les notifications sur les changements de données en itinérance

Inscrivez-vous pour l’événement DataChanged. Cet exemple définit DataChangeHandler comme gestionnaire des modifications des données itinérantes.


Private Sub InitHandlers()
    AddHandler Windows.Storage.ApplicationData.Current.DataChanged, AddressOf DataChangeHandler
End Sub

Private Sub DataChangeHandler(ByVal appData As Windows.Storage.ApplicationData, ByVal o As Object)
    ' TODO: Refresh your data
End Sub

Obtenir les conteneurs pour les paramètres et les fichiers de l’application

Utilisez la propriété ApplicationData.RoamingSettings pour obtenir les paramètres et la propriété ApplicationData.RoamingFolder pour déterminer les fichiers.


Dim roamingSettings As Windows.Storage.ApplicationDataContainer = Windows.Storage.ApplicationData.Current.RoamingSettings
Dim roamingFolder As Windows.Storage.StorageFolder = Windows.Storage.ApplicationData.Current.RoamingFolder

Écrire des données dans un paramètre

Utilisez la propriété ApplicationDataContainer.Values pour accéder aux paramètres inclus dans le conteneur roamingSettings abordé dans la section précédente. Cet exemple crée un paramètre nommé exampleSetting et un paramètre nommé HighPriority idéal pour la transition d’informations chronosensibles telles que l’état d’une application.

  • Applies to Windows Phone

Le paramètre HighPriority n’a aucun effet dans les applications Windows Phone.


' Simple setting
roamingSettings.Values("exampleSetting") = "Hello World";
' High Priority setting, for example, last page position in book reader app
roamingSettings.Values("HighPriority") = "65";


Un objet ApplicationDataCompositeValue contient les paramètres devant être accédés atomiquement. Cet exemple crée un paramètre composite intitulé exampleCompositeSetting, puis l’ajoute au conteneur roamingSettings.


' Composite setting

Dim composite As New Windows.Storage.ApplicationDataCompositeValue
composite("intVal") = 1
composite("strVal") = "string";

roamingSettings.Values("exampleCompositeSetting") = composite

Appelez la méthode ApplicationDataContainer.CreateContainer pour créer un conteneur de paramètres. Cet exemple crée un conteneur de paramètres intitulé exampleContainer, puis ajoute un paramètre appelé exampleSetting. La valeur Always de l’énumération ApplicationDataCreateDisposition indique que le conteneur est créé s’il n’existe pas.


' Setting in a container

Dim container As Windows.Storage.ApplicationDataContainer = 
   roamingSettings.CreateContainer("exampleContainer", Windows.Storage.ApplicationDataCreateDisposition.Always)

If roamingSettings.Containers.ContainsKey("exampleContainer") Then
    roamingSettings.Containers("exampleContainer").Values("exampleSetting") = "Hello World"
End If

Lire des données d’un paramètre

Utilisez la propriété ApplicationDataContainer.Values pour accéder au paramètre exampleSetting dans le conteneur roamingSettings.


' Simple setting

Dim value As Object = roamingSettings.Values("exampleSetting")

Utilisez la propriété ApplicationDataContainer.Values pour accéder au paramètre exampleCompositeSetting dans le conteneur roamingSettings.


' Composite setting

Dim composite As Windows.Storage.ApplicationDataCompositeValue = 
   CType(roamingSettings.Values("exampleCompositeSetting"), Windows.Storage.ApplicationDataCompositeValue)

If composite Is Nothing Then
   ' No data
Else
   ' Access data in composite("intVal") and composite("strVal")
End If

Utilisez la propriété ApplicationDataContainer.Values pour accéder au paramètre exampleSetting dans le conteneur exampleContainer.


' Setting in a container

Dim hasContainer As Boolean = roamingSettings.Containers.ContainsKey("exampleContainer")
Dim hasSetting As Boolean = False

If hasContainer Then
    hasSetting = roamingSettings.Containers("exampleContainer").Values.ContainsKey("exampleSetting")
End If

Écrire des données dans un fichier

Faites appel aux API, telles que Windows.Storage.StorageFolder.CreateFileAsync et Windows.Storage.FileIO.WriteTextAsync, pour créer et mettre à jour un fichier dans le magasin de données d’application itinérantes. Cet exemple crée un fichier appelé dataFile.txt dans le conteneur roamingFolder, puis écrit la date et l’heure actuelles dans le fichier. La valeur ReplaceExisting de l’énumération CreationCollisionOption indique de remplacer le fichier s’il existe.


Imports Windows.Globalization.DateTimeFormatting

Private Async Sub WriteTimestamp()
   Dim formatter As DateTimeFormatter = New DateTimeFormatter("longtime")

   Dim sampleFile As StorageFile = Await roamingFolder.CreateFileAsync("dataFile.txt", 
       CreationCollisionOption.ReplaceExisting)
   Await FileIO.WriteTextAsync(sampleFile, formatter.Format(DateTime.Now));
End Sub

Lire des données d’un fichier

Utilisez les API de fichier, telles que Windows.Storage.StorageFolder.GetFileAsync, Windows.Storage.StorageFile.GetFileFromApplicationUriAsync et Windows.Storage.FileIO.ReadTextAsync pour ouvrir et lire un fichier dans le magasin de données d’application itinérantes. Cet exemple ouvre le fichier dataFile.txt créé dans la section précédente, puis lit la date du fichier. Pour obtenir des détails sur le chargement de ressources de fichiers à partir de différents emplacements, voir Comment charger des ressources de fichiers.


Private Async Function ReadTimestamp() As Task
   Try
      Dim sampleFile As StorageFile = Await roamingFolder.GetFileAsync("dataFile.txt")
      Dim timestamp As string = Await FileIO.ReadTtextAsync(sampleFile)
      ' Data is contained in timestamp
   Catch e1 As Exception
      ' Timestamp not found
   End Try
End Function

Supprimer des paramètres après leur utilisation

Appelez la méthode ApplicationDataContainerSettings.Remove pour supprimer le paramètre exampleSetting du conteneur roamingSettings lorsque vous n’en avez plus besoin.


' Delete simple setting

roamingSettings.Values.Remove("exampleSetting")

Appelez la méthode ApplicationDataCompositeValue.Remove pour supprimer le paramètre composite exampleCompositeSetting du conteneur roamingSettings lorsque vous n’en avez plus besoin.


' Delete composite setting

roamingSettings.Values.Remove("exampleCompositeSetting")

Appelez la méthode ApplicationDataContainer.DeleteContainer pour supprimer le conteneur de paramètres exampleContainer lorsque vous n’en avez plus besoin.


' Delete container

roamingSettings.DeleteContainer("exampleContainer")

Rendre les données itinérantes entre différents types de périphériques

Si vous publiez deux versions de votre application (une pour le Windows Store et une autre pour le Windows Phone Store), vous pouvez rendre les données d’application itinérantes pour les applications qui s’exécutent sur les deux types d’appareil. Pour rendre des données itinérantes sur différentes versions de votre application et différents types d’appareil, assignez le même nom de famille du package (PFN, Package Family Name) à chaque version de l’application.

Pour plus d’informations, voir Comment rendre des données itinérantes entre une application du Windows Store et une application du Windows Phone Store.

Remarques

Chaque application dispose d’un quota de données itinérantes. Vérifiez la propriété ApplicationData.RoamingStorageQuota pour déterminer la taille totale des données itinérantes permises. Si vos données itinérantes dépassent le quota, l’application ne peut alors pas utiliser l’itinérance tant que le volume ne repasse pas en dessous du quota.

Rubriques associées

Tâches
Comment charger des ressources de fichiers
Démarrage rapide : données d’application locales
Démarrage rapide : données d’application temporaires
Conceptuel
Accès aux données de l’application à l’aide de Windows Runtime
Recommandations
Recommandations en matière de données d’application itinérantes
Référence
Windows.Storage.ApplicationData
Windows.Storage.ApplicationDataCompositeValue
Windows.Storage.ApplicationDataContainer
Windows.Storage.ApplicationDataContainerSettings
Exemples
Exemple de données d’application

 

 

Afficher:
© 2015 Microsoft