Orca
Orca

Reputation: 2025

Clearing preferences in SharedPreferences in Android, not just Values

from what I can incur out of the SharedPreferences documentation, I can update a preference, add one or clear all preference values in a shared preference file.

But I want to completely clear everything inside a shared preference file, not just the values, but the preferences they refer to as well.

Upvotes: 9

Views: 23302

Answers (2)

antonyt
antonyt

Reputation: 21883

If you have a SharedPreferences.Editor object and you call clear(), does this not get you what you want? It will remove all preferences and if you call sharedPref.getAll() it should give you a map of size 0 [I just tested this].

To remove one specific preference, call editor.remove(pref), where pref is the preference name.

PS: Don't forget to commit your changes by calling commit() or apply() method on the editor. apply() is faster as it is asynchronous. commit() is synchronous but returns a boolean indicating if the commit succeeded.

Upvotes: 31

QRohlf
QRohlf

Reputation: 2853

you could try deleteFile to delete the sharedpreferences file in your app's private storage.

If you just want to delete the contents but not the file, calling .edit().clear().commit() should do it.

If just you want to delete one preference, calling .edit().remove("key").commit() should work.

Upvotes: 1

Related Questions