Android APIs
Added in API level 1
public static interface

SharedPreferences.Editor

android.content.SharedPreferences.Editor

Class Overview

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

public abstract void apply ()

Added in API level 9

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().

public abstract SharedPreferences.Editor clear ()

Added in API level 1

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
  • Returns a reference to the same Editor object, so you can chain put calls together.

public abstract boolean commit ()

Added in API level 1

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
  • Returns true if the new values were successfully written to persistent storage.

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

Added in API level 1

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

Parameters
key The name of the preference to modify.
value The new value for the preference.
Returns
  • Returns a reference to the same Editor object, so you can chain put calls together.

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

Added in API level 1

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

Parameters
key The name of the preference to modify.
value The new value for the preference.
Returns
  • Returns a reference to the same Editor object, so you can chain put calls together.

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

Added in API level 1

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

Parameters
key The name of the preference to modify.
value The new value for the preference.
Returns
  • Returns a reference to the same Editor object, so you can chain put calls together.

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

Added in API level 1

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

Parameters
key The name of the preference to modify.
value The new value for the preference.
Returns
  • Returns a reference to the same Editor object, so you can chain put calls together.

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

Added in API level 1

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

Parameters
key The name of the preference to modify.
value The new value for the preference. Supplying null as the value is equivalent to calling remove(String) with this key.
Returns
  • Returns a reference to the same Editor object, so you can chain put calls together.

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

Added in API level 11

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

Parameters
key The name of the preference to modify.
values The set of new values for the preference. Passing null for this argument is equivalent to calling remove(String) with this key.
Returns
  • Returns a reference to the same Editor object, so you can chain put calls together.

public abstract SharedPreferences.Editor remove (String key)

Added in API level 1

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 The name of the preference to remove.
Returns
  • Returns a reference to the same Editor object, so you can chain put calls together.