Устранение предпочтений в 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()
должен работать.