Sous Android, la gestion des sessions se fait à l’aide de certaines techniques de stockage de données. Ces données peuvent être stockées dans certaines variables globales, la base de données ou les préférences de l’application.
Mais il y a un problème avec les variables globales. Les variables globales ne peuvent conserver les données que jusqu’à l’ouverture de l’application. Une fois l’application fermée, les variables globales sont détruites et leurs valeurs sont perdues.
Les données stockées dans la base de données et les préférences de l’application ne sont pas perdues lorsque l’application est fermée.
Donc, ceux-ci sont utilisés pour la gestion de session. Mais le stockage et l’accès aux données dans la base de données sont plus lents par rapport aux préférences.
Pour cette raison, les préférences sont utilisées pour la gestion des sessions.
Dans le contexte Android, ces préférences sont appelées SharedPreferences. Ceux-ci permettent un stockage, un accès et une mise à jour plus rapides des données.
Les préférences partagées sont normalement utilisées pour stocker les paramètres de l’application.
Trouvez les étapes ci-dessous pour utiliser SharedPreferences dans l’application pour stocker et accéder aux données pour maintenir la session.
1. Initialisez l’éditeur SharedPreferences pour stocker les données dans les SharedPreferences de l’application.
SharedPreferences prefs = getApplicationContext().getSharedPreferences("preferences-key-name", MODE_PRIVATE); Éditeur SharedPreferences.Editor = prefs.edit();
2. Mettez la valeur dans l’objet éditeur à enregistrer dans SharedPreferences. Ces valeurs peuvent être du type – String, boolean, int, float, etc. Après avoir ajouté les valeurs, exécutez la méthode commit() de Editor pour enregistrer les valeurs.
editor.putString("key-username", "John Doe"); éditeur.commit();
3. Pour récupérer les données de SharedPreferences, l’objet Editor n’est pas nécessaire. Obtenez simplement la chaîne requise ou toute autre valeur en utilisant la méthode correspondante.
SharedPreferences prefs = getApplicationContext().getSharedPreferences("preferences-key-name ", MODE_PRIVATE); String username = prefs.getString("key-username", "default-value");
Le deuxième paramètre de la méthode getString() est la valeur par défaut qui est renvoyée, au cas où aucune valeur n’est enregistrée dans les préférences correspondant à cette clé.
4. Pour effacer une clé SharedPreference particulière, utilisez la méthode remove().
SharedPreferences prefs = getApplicationContext().getSharedPreferences("preferences-key-name", MODE_PRIVATE); Éditeur SharedPreferences.Editor = prefs.edit(); editor.remove("key-username"); éditeur.commit();
5. Pour effacer toutes les SharedPreferences enregistrées, utilisez la méthode clear().
SharedPreferences prefs = getApplicationContext().getSharedPreferences("preferences-key-name", MODE_PRIVATE); Éditeur SharedPreferences.Editor = prefs.edit(); éditeur.clear(); éditeur.commit();
Trouvez ci-dessous l’exemple d’utilisation de ce SharedPreferences pour la gestion de session : –
Lorsqu’un utilisateur se connecte à l’application, enregistrez le nom d’utilisateur ou toute autre valeur correspondante de l’utilisateur dans SharedPreferences. Utilisez cette valeur enregistrée pour reconnecter l’utilisateur lorsque l’application est rouverte ou cette valeur est accessible dans n’importe quelle activité de l’application pour obtenir le nom d’utilisateur. Lorsque l’utilisateur clique sur Déconnexion, effacez les champs liés à l’utilisateur pour déconnecter l’utilisateur.