Explorer les préférences dans .NET MAUI

Les préférences nous permettent d’enregistrer des informations de base sur nos applications .NET MAUI, comme un nom d’utilisateur, pour accélérer les interactions. Voyons!
Le stockage d’informations simples sur nos appareils, comme la mémorisation d’un e-mail ou d’un nom d’utilisateur, peut faciliter et accélérer les interactions des utilisateurs dans une application. Imaginez avoir une connexion qui mémorise le nom de l’utilisateur, ce qui lui fait gagner du temps, ce qui a un impact direct sur son expérience avec notre produit.
Prenons un autre scénario dans lequel chaque fois qu’un utilisateur se connecte à partir d’un nouvel appareil, vous devez lui montrer un écran d’intégration. Les informations indiquant s’ils ont déjà été intégrés sur cet appareil peuvent également être enregistrées. Tout cela est possible dans .NET MAUI en utilisant les Préférences.
Les préférences sont utilisées pour enregistrer ces informations sur notre appareil, offrant une alternative facile d’accès aux données simples, sans avoir besoin d’une base de données.
Commençons !
Pour utiliser les préférences, nous devons utiliser l’interface IPreferences. Toutes les propriétés accessibles sont accessibles à l’aide de Preferences.Default, qui est hébergé dans l’espace de noms Microsoft.Maui.Storage.
Structure des préférences
Les préférences se composent de deux éléments cruciaux :
🔹 La clé : Il s’agit de l’identifiant unique de la préférence. Essentiellement, c’est le nom que nous utiliserons pour faire référence à la valeur enregistrée dans cette préférence. Cela nécessite un chaîne comme valeur. Par exemple: user_email
.
🔹La valeur : C’est la valeur que vous souhaitez enregistrer en association avec la clé. Par exemple, l’image indique que la valeur leo@gmail.com
est stocké dans les préférences user_email
. Nous pouvons utiliser cette clé pour la récupérer et la modifier selon nos besoins. Dans la section suivante, nous discuterons des types de données que nous acceptons.
Types de stockage acceptés
Pour stocker une valeur dans une préférence, vous devez vous rappeler que seul un ensemble limité de types de données peut être utilisé. Ils sont les suivants :
Les valeurs stockées sous DateTime sont enregistrées au format binaire 64 bits (entier long) à l’aide de deux méthodes définies par la classe DateTime :
🔹 VersBinairequi code la valeur DateTime
🔹 DeBinairequi décode la valeur
Consultez la documentation de ces méthodes pour comprendre comment gérer les cas particuliers pouvant survenir à l’aide de DateTime.
Manipulation des préférences
Le contexte d’arrière-plan nécessaire étant déjà établi, explorons les préférences d’enregistrement.
Définir la préférence
Pour définir une valeur de préférence, utilisez le Set
méthode. Il nécessite la clé de préférence et sa valeur comme paramètres, comme indiqué précédemment.
En code, cela ressemblerait à ceci :
Preferences.Default.Set("user_name", "Leo");
Preferences.Default.Set("user_has_email",true);
Preferences.Default.Set("user_email", "leo@gmail.com");
Obtenir la préférence
Pour récupérer la valeur d’une clé, nous utilisons le Get
méthode. Celui-ci nécessite deux paramètres :
- Le nom de la clé tu veux récupérer
- UN valeur par défaut à renvoyer si la clé n’existe pas.
La ligne de code devrait ressembler à ceci :
string userName = Preferences.Default.Get("user_name", "Unknown");
bool hasEmail = Preferences.Default.Get("user_has_email", true);
bool userEmail = Preferences.Default.Get("user_email", "Unknown");
Vérifier si une préférence existe
Vous pouvez également vérifier si une clé existe en utilisant le ContainsKey
méthode. Transmettez simplement le nom de la clé que vous souhaitez vérifier. Cette méthode renvoie une valeur booléenne.
bool hasEmail = Preferences.Default.ContainsKey("user_has_email");
Retrait des clés
Il existe deux manières de supprimer des clés :
🔹 Supprimez une clé spécifique : Utilisez le Remove
et entrez le nom de la clé que vous souhaitez supprimer.
Preferences.Default.Remove("user_name");
🔹 Supprimez toutes les clés existantes : Utilisez simplement le Clear
méthode.
Preferences.Default.Clear();
Partager les clés
Initialement, les préférences que vous enregistrez ne sont visibles que dans l’application où elles sont créées. Cependant, si nécessaire, vous pouvez créer des préférences partagées à utiliser par d’autres extensions ou applications.
Les méthodes Set, Get, Remove et Clear ont un paramètre facultatif appelé sharedName
(null par défaut) pour spécifier le conteneur dans lequel la préférence est stockée.
Voici un exemple de la façon de procéder :
Preferences.Default.Set("user_email", "[leo@gmail.com](mailto:leo@gmail.com)", "shared_user_email"),
⚠️ Il est crucial de comprendre les détails spécifiques d’implémentation de chaque plateforme, car les préférences partagées ont des implémentations avec des comportements spécifiques.
Différences de plate-forme
Androïde: Toutes les préférences sont enregistrées dans les préférences partagées. Si aucun nom spécifique n’est spécifié, les préférences partagées par défaut sont utilisées.
Catalyseur iOS/Mac : NSUserDefaults est utilisé pour stocker des valeurs sur les appareils iOS. Si aucun sharedName n’est spécifié, les StandardUserDefaults sont utilisés. Si un nom est donné, il est utilisé pour créer une nouvelle instance NSUserDefaults, le nom étant utilisé pour NSUserDefaultsType.SuiteName.
Fenêtres : ApplicationDataContainer est utilisé pour stocker des valeurs sur un appareil, par défaut LocalSettings si aucun nom de partage n’est spécifié.
LocalSettings limite les noms de clés de préférence à un maximum de 255 caractères. Chaque valeur de préférence peut avoir une taille allant jusqu’à 8 Ko, tandis que chaque configuration composite peut atteindre jusqu’à 64 Ko.
✍️ À garder à l’esprit
Les préférences sont supprimées lorsque vous désinstallez l’application. Cependant, cela ne se produit pas sur Android 6.0 (API niveau 23) ou versions ultérieures si la fonction de sauvegarde automatique est utilisée. Cette fonctionnalité est activée par défaut.
🚫 Limites
Les préférences doivent être utilisées pour des valeurs petites ou simples. S’il est utilisé pour de gros volumes de données, les performances peuvent être affectées. Si vous avez besoin de stockage pour des quantités plus importantes, je vous recommande personnellement d’utiliser des bases de données.
Références
Cet article était basé sur la documentation officielle :
Source link