J'ai une application dans laquelle je dois mettre en œuvre une activité "Connexion". J'ai ces composants:
Je souhaite que mon application garde en mémoire les informations de connexion de l'utilisateur une fois que celui-ci s'est connecté jusqu'à ce que l'utilisateur appuie sur le bouton "Déconnexion". Je n'utilise pas de préférences dans mon xml.
Comment puis-je faire en sorte que getSharedPreferences (nom de chaîne, mode int) fonctionne dans mon application?
Commencez par obtenir l'instance de SharedPreferences à l'aide de
SharedPreferences userDetails = context.getSharedPreferences("userdetails", MODE_PRIVATE);
Maintenant, pour enregistrer les valeurs dans les SharedPreferences
Editor edit = userDetails.edit();
edit.putString("username", username.getText().toString().trim());
edit.putString("password", password.getText().toString().trim());
edit.apply();
Les lignes ci-dessus écrivent le nom d'utilisateur et le mot de passe selon les préférences.
Maintenant, pour récupérer les valeurs enregistrées de préférence, vous pouvez suivre les lignes de code ci-dessous
String userName = userDetails.getString("username", "");
String password = userDetails.getString("password", "");
(REMARQUE: SAUVEGARDER LE MOT DE PASSE DANS L’APP IS NON RECOMMANDÉ. VOUS DEVEZ CRYPTER LE MOT DE PASSE AVANT D’ÉCONOMISER OR SAUVEZ L’ÉCOUTE DU MOT DE PASSE]
//Set Preference
SharedPreferences myPrefs = getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor;
prefsEditor = myPrefs.edit();
//strVersionName->Any value to be stored
prefsEditor.putString("STOREDVALUE", strVersionName);
prefsEditor.commit();
//Get Preferenece
SharedPreferences myPrefs;
myPrefs = getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
String StoredValue=myPrefs.getString("STOREDVALUE", "");
Essaye ça..
Après avoir beaucoup lu, seul cela a fonctionné: En classe pour définir les préférences partagées:
SharedPreferences userDetails = getApplicationContext().getSharedPreferences("test", MODE_PRIVATE);
SharedPreferences.Editor edit = userDetails.edit();
edit.clear();
edit.putString("test1", "1");
edit.putString("test2", "2");
edit.commit();
Dans AlarmReciever:
SharedPreferences userDetails = context.getSharedPreferences("test", Context.MODE_PRIVATE);
String test1 = userDetails.getString("test1", "");
String test2 = userDetails.getString("test2", "");