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();