598 Stimmen

Wie man SharedPreferences in Android zum Speichern, Abrufen und Bearbeiten von Werten verwendet

Ich möchte einen Zeitwert speichern und muss ihn abrufen und bearbeiten. Wie kann ich SharedPreferences um dies zu tun?

0 Stimmen

Ich habe einen Generic SharedPreferences Wrapper implementiert, schauen Sie mal rein: Android-know-how-to.blogspot.co.il/2014/03/

0 Stimmen

A vereinfachter Ansatz wäre durch die Verwendung dieser Bibliothek: github.com/viralypatel/Android-SharedPreferences-Helper ... erweiterte technische Details in meinem hier antworten ...

0 Stimmen

11voto

Muhammad Hassan Punkte 129

Um Werte in gemeinsamen Einstellungen zu speichern:

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = sp.edit();
editor.putString("Name","Jayesh");
editor.commit();

Zum Abrufen von Werten aus gemeinsamen Einstellungen:

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
String name = sp.getString("Name", ""); // Second parameter is the default value.

8voto

Ravi Parsania Punkte 695

In SharedPreferences speichern

SharedPreferences preferences = getSharedPreferences("temp", getApplicationContext().MODE_PRIVATE);
Editor editor = preferences.edit();
editor.putString("name", name);
editor.commit();

Abrufen in SharedPreferences

SharedPreferences preferences=getSharedPreferences("temp", getApplicationContext().MODE_PRIVATE);
String name=preferences.getString("name",null);

Hinweis: "temp" ist der Name von sharedpreferences und "name" ist der Eingabewert. wenn der Wert nicht ausgegeben wird, wird null zurückgegeben

8voto

Editar

SharedPreferences pref = getSharedPreferences("YourPref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("yourValue", value);
editor.commit();

Lesen Sie

SharedPreferences pref = getSharedPreferences("YourPref", MODE_PRIVATE);
value= pref.getString("yourValue", "");

8voto

Zly-Zly Punkte 167

Einfache Lösung für die Speicherung des Login-Wertes in by SharedPreferences .

Sie können die MainActivity Klasse oder eine andere Klasse, in der Sie den "Wert von etwas, das Sie behalten wollen", speichern werden. Legen Sie dies in Writer- und Reader-Klassen ab:

public static final String GAME_PREFERENCES_LOGIN = "Login";

Hier InputClass ist die Eingabe und OutputClass ist jeweils die Ausgabeklasse.

// This is a storage, put this in a class which you can extend or in both classes:
//(input and output)
public static final String GAME_PREFERENCES_LOGIN = "Login";

// String from the text input (can be from anywhere)
String login = inputLogin.getText().toString();

// then to add a value in InputCalss "SAVE",
SharedPreferences example = getSharedPreferences(GAME_PREFERENCES_LOGIN, 0);
Editor editor = example.edit();
editor.putString("value", login);
editor.commit();

Jetzt können Sie es an anderer Stelle verwenden, z. B. in einer anderen Klasse. Das Folgende ist OutputClass .

SharedPreferences example = getSharedPreferences(GAME_PREFERENCES_LOGIN, 0);
String userString = example.getString("value", "defValue");

// the following will print it out in console
Logger.getLogger("Name of a OutputClass".class.getName()).log(Level.INFO, userString);

7voto

java dev Punkte 994
editor.putString("text", mSaved.getText().toString());

Hier, mSaved kann jeder sein TextView o EditText aus dem wir eine Zeichenfolge extrahieren können. Sie können einfach eine Zeichenfolge angeben. Hier wird Text der Schlüssel sein, der den Wert enthält, der aus der mSaved ( TextView o EditText ).

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

Es ist auch nicht erforderlich, die Einstellungsdatei unter dem Paketnamen "com.example.app" zu speichern. Sie können Ihren eigenen bevorzugten Namen angeben. Ich hoffe, dies hilft Ihnen!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X