android - удалить все содержимое папки Shared_Prefs в пользовательской песочнице

Как очистить всю папку общих настроек в пользовательской песочнице, а не только по умолчанию. Папка shared_pref находится здесь обычно из оболочки adb:

/data/data/yourappsPackage/shared_prefs

Поэтому я создал много разных общих файлов XML prefs.

например, я создал их так:

context.getSharedPreferences("pref_file1",Context.MODE_PRIVATE);
context.getSharedPreferences("pref_file2",Context.MODE_PRIVATE);
context.getSharedPreferences("pref_file3",Context.MODE_PRIVATE);

Теперь я хотел бы очистить их всех одной командой? Это то, что я пробовал до сих пор:sharedPreferences.editor.clear() ; но разве это не очищает только тот файл, который я сейчас использую?

Я пробовал:

preference=context.getSharedPreferences("pref_file1",Context.MODE_PRIVATE);
        preferences.edit().clear().commit();

и pref_file1 очищается, но мне нужны pref_file2 и pref_file3, чтобы очистить также.

1 ответ

Решение

SharedPreferece - это файл, поэтому ведите себя как файл. Удалить их с помощью функции ниже

void delSharedPref(){

File list = new File("/data/data/" + getPackageName() +  "/shared_prefs");
        File[] files = list.listFiles();
        for(int i = 0; i < files.length; i++ ){
            files[i].delete();
        }

}

Или же

Если вы ищете меньше строк кода, используйте код ниже

File s = new File("/data/data/" + getPackageName() +  "/shared_prefs");
s.delete();
s.mkdir();
Другие вопросы по тегам