Added in API level 1

SharedPreferences.Editor

public static interface SharedPreferences.Editor

android.content.SharedPreferences.Editor


Interface used for modifying values in a SharedPreferences object. All changes you make in an editor are batched, and not copied back to the original SharedPreferences until you call commit() or apply()

Summary

Public methods

abstract void apply()

Commit your preferences changes back from this Editor to the SharedPreferences object it is editing.

abstract SharedPreferences.Editor clear()

Mark in the editor to remove all values from the preferences.

abstract boolean commit()

Commit your preferences changes back from this Editor to the SharedPreferences object it is editing.

abstract SharedPreferences.Editor putBoolean(String key, boolean value)

Set a boolean value in the preferences editor, to be written back once commit() or apply() are called.

abstract SharedPreferences.Editor putFloat(String key, float value)

Set a float value in the preferences editor, to be written back once commit() or apply() are called.

abstract SharedPreferences.Editor putInt(String key, int value)

Set an int value in the preferences editor, to be written back once commit() or apply() are called.

abstract SharedPreferences.Editor putLong(String key, long value)

Set a long value in the preferences editor, to be written back once commit() or apply() are called.

abstract SharedPreferences.Editor putString(String key, String value)

Set a String value in the preferences editor, to be written back once commit() or apply() are called.

abstract SharedPreferences.Editor putStringSet(String key, Set<String> values)

Set a set of String values in the preferences editor, to be written back once commit() or apply() is called.

abstract SharedPreferences.Editor remove(String key)

Mark in the editor that a preference value should be removed, which will be done in the actual preferences once commit() is called.

Public methods

apply

Added in API level 9
public abstract void apply ()

Commit your preferences changes back from this Editor to the SharedPreferences object it is editing. This atomically performs the requested modifications, replacing whatever is currently in the SharedPreferences.

Note that when two editors are modifying preferences at the same time, the last one to call apply wins.

Unlike commit(), which writes its preferences out to persistent storage synchronously, apply() commits its changes to the in-memory SharedPreferences immediately but starts an asynchronous commit to disk and you won't be notified of any failures. If another editor on this SharedPreferences does a regular commit() while a apply() is still outstanding, the commit() will block until all async commits are completed as well as the commit itself.

As SharedPreferences instances are singletons within a process, it's safe to replace any instance of commit() with apply() if you were already ignoring the return value.

You don't need to worry about Android component lifecycles and their interaction with apply() writing to disk. The framework makes sure in-flight disk writes from apply() complete before switching states.

The SharedPreferences.Editor interface isn't expected to be implemented directly. However, if you previously did implement it and are now getting errors about missing apply(), you can simply call commit() from apply().

clear

Added in API level 1
public abstract SharedPreferences.Editor clear ()

Mark in the editor to remove all values from the preferences. Once commit is called, the only remaining preferences will be any that you have defined in this editor.

Note that when committing back to the preferences, the clear is done first, regardless of whether you called clear before or after put methods on this editor.

Returns
SharedPreferences.Editor Returns a reference to the same Editor object, so you can chain put calls together.

commit

Added in API level 1
public abstract boolean commit ()

Commit your preferences changes back from this Editor to the SharedPreferences object it is editing. This atomically performs the requested modifications, replacing whatever is currently in the SharedPreferences.

Note that when two editors are modifying preferences at the same time, the last one to call commit wins.

If you don't care about the return value and you're using this from your application's main thread, consider using apply() instead.

Returns
boolean Returns true if the new values were successfully written to persistent storage.

putBoolean

Added in API level 1
public abstract SharedPreferences.Editor putBoolean (String key, 
                boolean value)

Set a boolean value in the preferences editor, to be written back once commit() or apply() are called.

Parameters
key String: The name of the preference to modify.

value boolean: The new value for the preference.

Returns
SharedPreferences.Editor Returns a reference to the same Editor object, so you can chain put calls together.

putFloat

Added in API level 1
public abstract SharedPreferences.Editor putFloat (String key, 
                float value)

Set a float value in the preferences editor, to be written back once commit() or apply() are called.

Parameters
key String: The name of the preference to modify.

value float: The new value for the preference.

Returns
SharedPreferences.Editor Returns a reference to the same Editor object, so you can chain put calls together.

putInt

Added in API level 1
public abstract SharedPreferences.Editor putInt (String key, 
                int value)

Set an int value in the preferences editor, to be written back once commit() or apply() are called.

Parameters
key String: The name of the preference to modify.

value int: The new value for the preference.

Returns
SharedPreferences.Editor Returns a reference to the same Editor object, so you can chain put calls together.

putLong

Added in API level 1
public abstract SharedPreferences.Editor putLong (String key, 
                long value)

Set a long value in the preferences editor, to be written back once commit() or apply() are called.

Parameters
key String: The name of the preference to modify.

value long: The new value for the preference.

Returns
SharedPreferences.Editor Returns a reference to the same Editor object, so you can chain put calls together.

putString

Added in API level 1
public abstract SharedPreferences.Editor putString (String key, 
                String value)

Set a String value in the preferences editor, to be written back once commit() or apply() are called.

Parameters
key String: The name of the preference to modify.

value String: The new value for the preference. Passing null for this argument is equivalent to calling remove(java.lang.String) with this key.

Returns
SharedPreferences.Editor Returns a reference to the same Editor object, so you can chain put calls together.

putStringSet

Added in API level 11
public abstract SharedPreferences.Editor putStringSet (String key, 
                Set<String> values)

Set a set of String values in the preferences editor, to be written back once commit() or apply() is called.

Parameters
key String: The name of the preference to modify.

values Set: The set of new values for the preference. Passing null for this argument is equivalent to calling remove(java.lang.String) with this key.

Returns
SharedPreferences.Editor Returns a reference to the same Editor object, so you can chain put calls together.

remove

Added in API level 1
public abstract SharedPreferences.Editor remove (String key)

Mark in the editor that a preference value should be removed, which will be done in the actual preferences once commit() is called.

Note that when committing back to the preferences, all removals are done first, regardless of whether you called remove before or after put methods on this editor.

Parameters
key String: The name of the preference to remove.

Returns
SharedPreferences.Editor Returns a reference to the same Editor object, so you can chain put calls together.