Очистка настроек в SharedPreferences в Android, а не только значений - PullRequest
10 голосов
/ 02 сентября 2010

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

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

Ответы [ 2 ]

32 голосов
/ 02 сентября 2010

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

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

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

1 голос
/ 02 сентября 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...