Démarrage rapide : données d’application itinérantes (HTML)
[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]
Découvrez le stockage et la récupération de paramètres et de 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.
S’inscrire pour recevoir les notifications sur les changements de données en itinérance
Cet exemple définit datachangeHandler
comme gestionnaire des modifications des données itinérantes.
var applicationData = Windows.Storage.ApplicationData.current;
function initialize()
{
applicationData.addEventListener("datachanged", datachangeHandler);
}
function dataChangeHandler(eventArgs)
{
// TODO: Refresh your data
}
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.
var roamingSettings = applicationData.roamingSettings;
var roamingFolder = applicationData.roamingFolder;
Les étapes suivantes s’appuient sur les variables roamingSettings
et roamingFolder
de cette étape.
É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é à l’étape 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.
// 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
var composite = 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.
Après avoir modifié un paramètre dans un magasin de données d’application itinérantes, le système d’exploitation envoie l’événement datachanged.
// Setting in a container
var container = roamingSettings.createContainer("exampleContainer",
Windows.Storage.ApplicationDataCreateDisposition.Always);
if (roamingSettings.containers.hasKey("exampleContainer"))
{
roamingSettings.containers.lookup("exampleContainer").values["exampleSetting"] = "Hello World";
}
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
var value = roamingSettings.values["exampleSetting"];
if (!value)
{
// No data
}
else
{
// Access data in value
}
Utilisez la propriété ApplicationDataContainer.values pour accéder au paramètre exampleCompositeSetting
dans le conteneur roamingSettings
.
// Composite setting
var composite = roamingSettings.values["exampleCompositeSetting"];
if (!composite)
{
// 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
var hasContainer = roamingSettings.containers.hasKey("exampleContainer");
if (hasContainer)
{
// Access data in roamingSettings.containers.lookup("exampleContainer").values.hasKey("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 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.
function writeTimestamp() {
roamingFolder.createFileAsync("dataFile.txt", Windows.Storage.CreationCollisionOption.replaceExisting)
.then(function (sampleFile) {
var formatter = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("longtime");
var timestamp = formatter.format(new Date());
return Windows.Storage.FileIO.writeTextAsync(sampleFile, timestamp);
}).done(function () {
});
}
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éé à l’étape précédente, puis lit la date du fichier. La valeur openIfExists de l’énumération CreationCollisionOption indique que le fichier doit exister. Pour obtenir des détails sur le chargement de ressources de fichiers à partir de différents emplacements, voir Comment charger des ressources de fichiers.
function readTimestamp() {
roamingFolder.getFileAsync("dataFile.txt")
.then(function (sampleFile) {
return Windows.Storage.FileIO.readTextAsync(sampleFile);
}).done(function (timestamp) {
// Data is contained in timestamp
}, function () {
// Timestamp not found
});
}
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.
// 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");
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âche
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