public abstract class PreferenceDataStore
extends Object

   ↳ androidx.preference.PreferenceDataStore

A data store interface to be implemented and provided to the Preference framework. This can be used to replace the default SharedPreferences, if needed.

In most cases you want to use SharedPreferences as it is automatically backed up and migrated to new devices. However, providing custom data store to preferences can be useful if your app stores its preferences in a local database, cloud, or they are device specific like "Developer settings". It might be also useful when you want to use the preferences UI but the data is not supposed to be stored at all because they are only valid per session.

Once a put method is called it is the full responsibility of the data store implementation to safely store the given values. Time expensive operations need to be done in the background to prevent from blocking the UI. You also need to have a plan on how to serialize the data in case the activity holding this object gets destroyed.

By default, all "put" methods throw UnsupportedOperationException.


Public constructors


Public methods

boolean getBoolean(String key, boolean defValue)

Retrieves a Boolean value from the data store.

float getFloat(String key, float defValue)

Retrieves a Float value from the data store.

int getInt(String key, int defValue)

Retrieves an Integer value from the data store.

long getLong(String key, long defValue)

Retrieves a Long value from the data store.

String getString(String key, String defValue)

Retrieves a String value from the data store.

Set<String> getStringSet(String key, Set<String> defValues)

Retrieves a set of Strings from the data store.

void putBoolean(String key, boolean value)

Sets a Boolean value to the data store.

void putFloat(String key, float value)

Sets a Float value to the data store.

void putInt(String key, int value)

Sets an