comment utiliser getSharedPreferences dans android

J'ai une application dans laquelle je dois implémenter une activité "Login". J'ai ces composants:

  1. Nom d'utilisateur EditText
  2. EditText mot de passe
  3. Bouton Connexion
  4. Bouton Annuler

Je veux que mon application pour retrouver les informations de connexion de l'utilisateur une fois que l'utilisateur s'est connecté jusqu'à ce que l'utilisateur appuie sur le bouton "se déconnecter". Je n'utilise pas de préférences dans mon xml.

Comment puis-je faire fonctionner les getSharedPreferences(nom de chaîne, mode int) mon application?

68
demandé sur CMA 2011-05-10 16:31:10

3 réponses

Obtenez D'abord L'instance de SharedPreferences en utilisant

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 écriront le nom d'utilisateur et le mot de passe à la préférence

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: L'ENREGISTREMENT DU MOT DE PASSE DANS L'APPLICATION N'EST PAS RECOMMANDÉ. VOUS DEVEZ CHIFFRER LE MOT DE PASSE AVANT D'ENREGISTRER OU IGNORER L'ENREGISTREMENT DU MOT DE PASSE)

131
répondu Dharmendra 2018-02-12 14:12:47
//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", "");

Essayez ceci..

12
répondu Karthik 2012-02-22 22:19:00

Après avoir lu beaucoup, seulement 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", "");
1
répondu Afshin Ghazi 2015-11-12 20:24:05