Enregistrer et charger des paramètres dans une application UWP
Cette rubrique décrit ce que vous devez savoir pour commencer l’enregistrement et le chargement de paramètres dans une application de plateforme Windows universelle (UWP). Les API principales sont présentées et des liens sont fournis pour vous aider à en savoir plus.
Utilisez des paramètres pour retenir les aspects personnalisables par l’utilisateur de votre application. Par exemple, un lecteur de flux d’actualités peut utiliser des paramètres d’application pour enregistrer les sources d’actualités à afficher et la police à utiliser pour la lecture des articles.
Nous allons examiner le code des paramètres d’enregistrement et de chargement de l’application.
Ce que vous devez savoir
Utilisez les paramètres d’application pour stocker les données de configuration telles que les préférences de l’utilisateur et l’état de l’application.
Les types de données suivants peuvent être utilisés avec des paramètres : entiers, doubles, flottants, caractères, chaînes, points, DateTime, etc. Vous pouvez également stocker des instances de la classe ApplicationDataCompositeValue lorsque plusieurs paramètres doivent être traités en tant qu’unité. Par exemple, un nom de police et une taille de point pour afficher du texte dans le volet de lecture de votre application doivent être enregistrés/restaurés comme une seule unité. Cela empêche un paramètre de ne plus être en synchronisation avec l’autre en raison d’un accès simultané, par exemple entre le programme principal et une tâche en arrière-plan.
Voici les principales API que vous devez connaître pour enregistrer ou charger les paramètres d’application :
- Windows.Storage.ApplicationData.Current.LocalSettings obtient le conteneur de paramètres d’application dans le magasin de données d’application locales. Les paramètres stockés ici sont conservés sur l’appareil.
- Windows.Storage.ApplicationData.Current.RoamingSettings obtient le conteneur de paramètres d’application dans le magasin de données d’application itinérantes. Les paramètres stocké ici ne sont plus itinérants (à partir de Windows 11), mais le magasin de paramètres est toujours disponible. En remplacement de RoamingSettings, il est recommandé d’utiliser Azure App Service. Azure App Service est largement pris en charge, bien documenté, fiable et prend en charge les scénarios interplateformes/inter-écosystèmes comme iOS, Android et le web.
- Windows.Storage.ApplicationDataContainer est un conteneur qui représente les paramètres d’application sous forme de paires clé/valeur. Utilisez cette classe pour créer et récupérer des valeurs de paramètre.
- Windows.Storage.ApplicationDataCompositeValue représente plusieurs paramètres d’application qui doivent être sérialisés en tant qu’unité. Cela est utile lorsqu’un paramètre ne doit pas être mis à jour indépendamment d’un autre.
Enregistrer les paramètres d’application
Pour cette présentation, nous allons nous concentrer sur deux scénarios simples : enregistrer et charger un paramètre d’application simple et charger un paramètre de police /taille de police composite.
ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
// Save a setting locally on the device
localSettings.Values["test setting"] = "a device specific setting";
// Save a composite setting locally on the device
Windows.Storage.ApplicationDataCompositeValue composite = new Windows.Storage.ApplicationDataCompositeValue();
composite["Font"] = "Calibri";
composite["FontSize"] = 11;
localSettings.Values["FontInfo"] = composite;
Enregistrez un paramètre en obtenant d’abord un ApplicationDataContainer pour le magasin de données de paramètres locaux avec Windows.Storage.ApplicationData.Current.LocalSettings
. Les paires de dictionnaire clé/valeur que vous affectez à cette instance sont enregistrées dans le magasin de données de paramètres d’appareil locaux.
Dans l’extrait de code ci-dessus, ApplicationDataCompositeValue stocke plusieurs paires clé/valeur. Les valeurs composites sont utiles lorsque vous disposez de plusieurs paramètres qui ne doivent pas être désynchronisés entre eux. Lorsque vous enregistrez ApplicationDataCompositeValue, les valeurs sont enregistrées et chargées en tant qu’unité, ou de façon atomique. De cette façon, les paramètres qui sont associés restent synchronisés.
Charger les paramètres d’application
ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
// load a setting that is local to the device
String localValue = localSettings.Values["test setting"] as string;
// load a composite setting
Windows.Storage.ApplicationDataCompositeValue composite = (ApplicationDataCompositeValue)localSettings.Values["FontInfo"];
if (composite != null)
{
String fontName = composite["Font"] as string;
int fontSize = (int)composite["FontSize"];
}
Chargez un paramètre en obtenant d’abord une instance ApplicationDataContainer pour le magasin de données de paramètres locaux avec Windows.Storage.ApplicationData.Current.LocalSettings
. Utilisez-la ensuite pour récupérer les paires clé/valeur. Si les données ne sont pas présentes, vous obtiendrez un objet Null. En C#, cela signifie que localValue
sera null
si le paramètre n’existe pas.
Chargez un paramètre composite en suivant un modèle semblable. Accéder aux paires clé/valeur à partir du magasin de données des paramètres locaux. Si les données ne sont pas présentes, vous obtenez une valeur ApplicationDataContainer nulle. C’est pour cela qu’une vérification if (composite != null)
est présente dans l’exemple de code ci-dessus.
API et documents utiles
Voici un résumé rapide des API et d’autres documents utiles pour vous aider à commencer à enregistrer et à charger des paramètres d’application.
API utiles
API | Description |
---|---|
ApplicationData.LocalSettings | Obtient le conteneur de paramètres d’application du magasin de données d’application locales. |
ApplicationData.RoamingSettings | Obtient le conteneur de paramètres d’application du magasin de données d’application itinérantes. |
ApplicationDataContainer | Conteneur de paramètres d’application qui prend en charge la création, la suppression, l’énumération et le parcours de la hiérarchie du conteneur. |
Windows.UI.ApplicationSettings Namespace | Fournit des classes que vous utiliserez pour définir les paramètres d’application qui s’affichent dans le volet des paramètres de Windows Shell. |
Documents utiles
Rubrique | Description |
---|---|
Recommandations en matière de paramètres de l’application | Décrit les bonnes pratiques pour créer et afficher des paramètres d’application. |
Stocker et récupérer des paramètres et autres données d’application | Procédure d’enregistrement et de récupération de paramètres. |
Exemples de code utiles
Exemple de code | Description |
---|---|
Exemple de données d’application | Focus sur les scénarios 2 à 4 relatifs aux paramètres |