599 votes

Comment utiliser SharedPreferences dans Android pour stocker, récupérer et modifier les valeurs

Je veux stocker une valeur de temps et besoin de récupérer et de le modifier. Quelqu'un peut-il me guider ici avec un exemple de code de projet/s'il vous plaît?

851voto

naikus Points 11284

Pour obtenir partagé préférences, utilisez la méthode suivante Dans votre activité:

SharedPreferences prefs = this.getSharedPreferences(
      "com.example.app", Context.MODE_PRIVATE);

Pour lire les préférences:

String dateTimeKey = "com.example.app.datetime";

// use a default value using new Date()
long l = prefs.getLong(dateTimeKey, new Date().getTime()); 

Pour modifier et enregistrer les préférences

Date dt = getSomeDate();
prefs.edit().putLong(dateTimeKey, dt.getTime()).apply();

Le sdk android du répertoire de l'exemple contient un exemple de récupération et de stockage partagé préférences. Il est situé au:

<android-sdk-home>/samples/android-<platformversion>/ApiDemos directory

292voto

Preet Points 1316

Pour stocker des valeurs partagées préférences:

  SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
  SharedPreferences.Editor editor = preferences.edit();
  editor.putString("Name","Harneet");
  editor.apply();

Pour récupérer les valeurs du partage des préférences:

  SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
  String name = preferences.getString("Name","");
  if(!name.equalsIgnoreCase(""))
  {
    name = name+"  Sethi";  /* Edit the value here*/
  }

165voto

DeRagan Points 10551

Pour modifier les données de sharedpreference

 SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
 editor.putString("text", mSaved.getText().toString());
 editor.putInt("selection-start", mSaved.getSelectionStart());
 editor.putInt("selection-end", mSaved.getSelectionEnd());
 editor.apply();

Pour récupérer des données à partir d'partagé préférence

SharedPreferences prefs = getPreferences(MODE_PRIVATE); 
String restoredText = prefs.getString("text", null);
if (restoredText != null) 
{
  //mSaved.setText(restoredText, TextView.BufferType.EDITABLE);
  int selectionStart = prefs.getInt("selection-start", -1);
  int selectionEnd = prefs.getInt("selection-end", -1);
  /*if (selectionStart != -1 && selectionEnd != -1)
  {
     mSaved.setSelection(selectionStart, selectionEnd);
  }*/
}

Edit-

J'ai pris cet extrait à partir de l'API de Démonstration de l'échantillon. Il avait une zone de Texte Modifier... Dans ce contexte, il n'est pas nécessaire.Je suis en commentant le même

43voto

stackoverflow Points 723

Pour Écrire :

SharedPreferences preferences = getSharedPreferences("AUTHENTICATION_FILE_NAME", Context.MODE_WORLD_WRITEABLE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("Authentication_Id",userid.getText().toString());
editor.putString("Authentication_Password",password.getText().toString());
editor.putString("Authentication_Status","true");
editor.apply();

À Lire :

SharedPreferences prfs = getSharedPreferences("AUTHENTICATION_FILE_NAME", Context.MODE_PRIVATE);
String Astatus = prfs.getString("Authentication_Status", "");

29voto

ArcDare Points 1021

Manière la plus simple:

Pour enregistrer:

getPreferences(MODE_PRIVATE).edit().putString("Name of variable",value).commit();

À récupérer:

"your_variable" = getPreferences(MODE_PRIVATE).getString("Name of variable",default value);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X