Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Parcourez l’exemple. Parcourir l'exemple
Cet article décrit comment vous pouvez utiliser l'interface IPreferences de l'application multiplateforme .NET MAUI. Cette interface permet de stocker les préférences d’application dans un magasin de clés/valeurs.
L'implémentation par défaut de l'interface IPreferences est disponible via la propriété Preferences.Default. Les deux, l’interface IPreferences et la classe Preferences, sont contenus dans l’espace de noms Microsoft.Maui.Storage.
Types de stockage
Preferences est stocké avec une clé String. La valeur d’une préférence doit être l’un des types de données suivants :
Les valeurs de DateTime sont stockées dans un format binaire 64 bits (entier long) à l’aide de deux méthodes définies par la classe DateTime :
- La méthode
ToBinaryest utilisée pour encoder la valeurDateTime. - La méthode
FromBinarydécode la valeur.
Consultez la documentation de ces méthodes pour voir les ajustements que vous pouvez apporter aux valeurs décodées lorsqu’un DateTime est stocké et n’est pas une valeur de temps universel coordonné (UTC).
Définir les préférences
**
Preferences sont définis en appelant la méthode Preferences.Set, en fournissant la clé et la valeur :
// Set a string value:
Preferences.Default.Set("first_name", "John");
// Set an numerical value:
Preferences.Default.Set("age", 28);
// Set a boolean value:
Preferences.Default.Set("has_pets", true);
Obtenir les préférences
Pour récupérer une valeur à partir des préférences, vous passez la clé de la préférence, suivie de la valeur par défaut lorsque la clé n’existe pas :
string firstName = Preferences.Default.Get("first_name", "Unknown");
int age = Preferences.Default.Get("age", -1);
bool hasPets = Preferences.Default.Get("has_pets", false);
Dans certains scénarios, vous devrez peut-être transmettre la clé de la préférence, suivie de la valeur par défaut et de son type :
long value = Preferences.Get("master_date", (long)0);
Rechercher une clé
Il peut être utile de vérifier si une clé existe dans les préférences ou non. Même si Get vous demande de définir une valeur par défaut lorsque la clé n’existe pas, il peut y avoir des cas où la clé existe, mais sa valeur correspond à la valeur par défaut. Vous ne pouvez donc pas vous fier à la valeur par défaut comme indicateur de l’inexistence de la clé. Utilisez la méthode ContainsKey pour déterminer si une clé existe :
bool hasKey = Preferences.Default.ContainsKey("my_key");
Supprimer une ou toutes les clés
Utilisez la Remove méthode pour supprimer une clé spécifique des préférences :
Preferences.Default.Remove("first_name");
Pour supprimer toutes les clés, utilisez la méthode Clear :
Preferences.Default.Clear();
Clés partagées
Les préférences stockées par votre application ne sont visibles que par votre application. Toutefois, vous pouvez également créer une préférence partagée qui peut être utilisée par d'autres extensions ou une application pour montre. Lorsque vous définissez, supprimez ou récupérez une préférence, vous pouvez fournir un paramètre de chaîne facultatif pour spécifier le nom du conteneur dans lequel la préférence est stockée.
Les méthodes suivantes prennent une chaîne de caractères nommée sharedName:
Preferences.SetPreferences.GetPreferences.RemovePreferences.Clear
Important
Lisez les spécificités de l’implémentation de la plateforme, car les préférences partagées ont des implémentations spécifiques au comportement
Intégrer aux paramètres système
Preferences sont stockés nativement, ce qui vous permet d'intégrer ces paramètres dans les paramètres système natifs. Suivez la documentation de la plateforme pour l’intégration à la plateforme :
- Apple : Implémentation d'un bundle de préférences iOS
- Android : Démarrer avec les écrans des paramètres
Différences selon les plateformes
Cette section décrit les différences spécifiques à la plateforme avec l’API préférences.
- Android
- iOS/Mac Catalyst
- Windows
Toutes les données sont stockées dans un espace de stockage partagé. Si aucun sharedName n’est spécifié, les Eléments Preferences partagés par défaut sont utilisés. Sinon, le nom est utilisé pour obtenir un
Persistance
La désinstallation de l’application entraîne la suppression de toutes les préférences , sauf lorsque l’application s’exécute sur Android 6.0 (niveau d’API 23) ou version ultérieure, lors de l’utilisation de la fonctionnalité sauvegarde automatique . Cette fonctionnalité est activée par défaut et conserve les données d’application, notamment Partagé Preferences, qu’utilise l'API Preferences. Vous pouvez désactiver cette fonctionnalité en suivant la documentation sur la sauvegarde automatique de Google.
Limites
Les performances peuvent être affectées si vous stockez du texte en grande quantité, car l’API a été conçue pour stocker de petites quantités de texte.