Устранение предпочтений в SharedPreferences на Android, а не только значения

из того, что я могу извлечь из документации SharedPreferences, я могу обновить предпочтение, добавить одно или очистить все значения предпочтений в файле общих предпочтений.

Но я хочу полностью очистить все внутри общего файла предпочтений, а не только значения, но и их предпочтения.

Ответ 1

Если у вас есть объект SharedPreferences.Editor, и вы вызываете clear(), не делает ли это вас тем, что вы хотите? Он удалит все настройки, и если вы вызовете sharedPref.getAll(), он должен дать вам карту размера 0 [я только что проверил это].

Чтобы удалить одно конкретное предпочтение, вызовите editor.remove(pref), где pref - имя предпочтительности.

PS: Не забудьте зафиксировать свои изменения, вызвав метод commit() или apply() в редакторе. apply() быстрее, так как он асинхронен. commit() является синхронным, но возвращает логическое значение, указывающее, удалось ли выполнить фиксацию.

Ответ 2

вы можете попробовать deleteFile удалить файл sharedpreferences в приватном хранилище приложений.

Если вы просто хотите удалить содержимое, но не файл, вызов .edit().clear().commit() должен сделать это.

Если вы хотите удалить одно предпочтение, вызов .edit().remove("key").commit() должен работать.