Read and write values to SharedPreferences
suggest changepublic class MyActivity extends Activity { private static final String PREFS_FILE = "NameOfYourPrefrenceFile"; // PREFS_MODE defines which apps can access the file private static final int PREFS_MODE = Context.MODE_PRIVATE; // you can use live template "key" for quickly creating keys private static final String KEY_BOOLEAN = "KEY_FOR_YOUR_BOOLEAN"; private static final String KEY_STRING = "KEY_FOR_YOUR_STRING"; private static final String KEY_FLOAT = "KEY_FOR_YOUR_FLOAT"; private static final String KEY_INT = "KEY_FOR_YOUR_INT"; private static final String KEY_LONG = "KEY_FOR_YOUR_LONG"; @Override protected void onStart() { super.onStart(); // Get the saved flag (or default value if it hasn't been saved yet) SharedPreferences settings = getSharedPreferences(PREFS_FILE, PREFS_MODE); // read a boolean value (default false) boolean booleanVal = settings.getBoolean(KEY_BOOLEAN, false); // read an int value (Default 0) int intVal = settings.getInt(KEY_INT, 0); // read a string value (default "my string") String str = settings.getString(KEY_STRING, "my string"); // read a long value (default 123456) long longVal = settings.getLong(KEY_LONG, 123456); // read a float value (default 3.14f) float floatVal = settings.getFloat(KEY_FLOAT, 3.14f); } @Override protected void onStop() { super.onStop(); // Save the flag SharedPreferences settings = getSharedPreferences(PREFS_FILE, PREFS_MODE); SharedPreferences.Editor editor = settings.edit(); // write a boolean value editor.putBoolean(KEY_BOOLEAN, true); // write an integer value editor.putInt(KEY_INT, 123); // write a string editor.putString(KEY_STRING, "string value"); // write a long value editor.putLong(KEY_LONG, 456876451); // write a float value editor.putFloat(KEY_FLOAT, 1.51f); editor.apply(); } }
getSharedPreferences()
is a method from the Context
class — which Activity
extends. If you need to access the getSharedPreferences()
method from other classes, you can use context.getSharedPreferences()
with a Context
Object reference from an Activity
, View
, or Application
.
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents