Langage: HTML | XAML

Démarrage rapide : données d’application locales (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 locales.

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

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

Utilisez la propriété ApplicationData.LocalSettings pour obtenir les paramètres d’un objet ApplicationDataContainer. Utilisez la propriété ApplicationData.LocalFolder pour obtenir les fichiers placés d’un objet StorageFolder.


Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
Windows.Storage.StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;

Les sections suivantes utilisent les variables localSettings et localFolder de cette section.

Écrire des données dans un paramètre

Utilisez la propriété ApplicationDataContainer.Values pour accéder aux paramètres inclus dans le conteneur localSettings abordé à l’étape précédente. Cet exemple crée un paramètre intitulé exampleSetting.


// Simple setting

localSettings.Values["exampleSetting"] = "Hello Windows";

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 localSettings.


// Composite setting

Windows.Storage.ApplicationDataCompositeValue composite = new Windows.Storage.ApplicationDataCompositeValue();
composite["intVal"] = 1;
composite["strVal"] = "string";

localSettings.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

Windows.Storage.ApplicationDataContainer container = 
   localSettings.CreateContainer("exampleContainer", Windows.Storage.ApplicationDataCreateDisposition.Always);

if (localSettings.Containers.ContainsKey("exampleContainer"))
{
   localSettings.Containers["exampleContainer"].Values["exampleSetting"] = "Hello Windows";
}

Lire des données d’un paramètre

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


// Simple setting

Object value = localSettings.Values["exampleSetting"];

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


// Composite setting

Windows.Storage.ApplicationDataCompositeValue composite = 
   (Windows.Storage.ApplicationDataCompositeValue)localSettings.Values["exampleCompositeSetting"];

if (composite == null)
{
   // No data
}
else
{
   // Access data in composite["intVal"] and composite["strVal"]
}

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


// Setting in a container

bool hasContainer = localSettings.Containers.ContainsKey("exampleContainer");
bool hasSetting = false;

if (hasContainer)
{
   hasSetting = localSettings.Containers["exampleContainer"].Values.ContainsKey("exampleSetting");
}

É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 locales. Cet exemple crée un fichier appelé dataFile.txt dans le conteneur localFolder, 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.

  • Applies to Windows Phone

Sur les périphériques Windows Phone, les données d’application sont sauvegardées par défaut. Si vous ne souhaitez pas qu’un fichier soit sauvegardé, enregistrez-le dans le sous-dossier LocalCache du stockage local de l’application.


async void WriteTimestamp()
{
   Windows.Globalization.DateTimeFormatting.DateTimeFormatter formatter = 
       new Windows.Globalization.DatetimeFormatting.DateTimeFormatter("longtime");

   StorageFile sampleFile = await localFolder.CreateFileAsync("dataFile.txt", 
       CreateCollisionOption.ReplaceExisting);
   await FileIO.WriteTextAsync(sampleFile, formatter.Format(DateTime.Now));
}

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 locales. Cet exemple ouvre le fichier dataFile.txt créé à l’étape 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.


async void ReadTimestamp()
{
   try
   {
      StorageFile sampleFile = await localFolder.GetFileAsync("dataFile.txt");
      String timestamp = await FileIO.ReadTextAsync(sampleFile);
      // Data is contained in timestamp
   }
   catch (Exception)
   {
      // Timestamp not found
   }
}

Supprimer des paramètres après leur utilisation

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


// Delete simple setting

localSettings.Values.Remove("exampleSetting");

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


// Delete composite setting

localSettings.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

localSettings.DeleteContainer("exampleContainer");

Rubriques associées

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

 

 

Afficher:
© 2014 Microsoft