删除app文件夹(包含共享首选项和下载的图像)

时间:2015-12-01 17:41:35

标签: java android bitmap sharedpreferences logout

在我的应用程序中,我有5个帐户。用户可以使用按钮“注销”,而不是输入密码并登录到其他帐户。 所以我的问题: 如何删除所有共享首选项(内部存储)(其中有很多 - 大约110-120个文件)和所有图片(大约10个)?

我正在尝试使用此代码删除共享首选项:

 File sharedPreferenceFile = new File("/data/data/"+ getPackageName()+ "/shared_prefs/");
 File[] listFiles = sharedPreferenceFile.listFiles();
 for (File file : listFiles) {
 file.delete();}

但是我不能这样做,因为忽略'File.delete()'的结果

我如何设置共享偏好的价值(如果需要):

SharedPreferences sp = getSharedPreferences("timeTable", 0);
SharedPreferences.Editor sedt2 = sp2.edit();
sedt2.putString("timeTable", place1.getText().toString());
sedt2.apply();

我将如何将图像和位图放到app目录中:

 bitmap_backgroundImage = BitmapFactory.decodeByteArray(data, 0, data.length);
 ContextWrapper cw1 = new ContextWrapper(getApplicationContext());
 File directory = cw1.getDir("backgroundimage", Context.MODE_PRIVATE);
 if (!directory.exists()) {
 directory.mkdir();}
 File mypath1 = new File(directory, "backgroundimage.png");
 FileOutputStream fos = new FileOutputStream(mypath1);
 bitmap_backgroundImage.compress(Bitmap.CompressFormat.PNG, 100, fos);
 fos.close();

是否有任何代码可以在按钮点击时删除图片和共享首选项?

1 个答案:

答案 0 :(得分:0)

要清除您必须编写的SharedPerferences

sp.edit().clear().commit()

删除存储在文件系统中的图像

for(File file: dir.listFiles()) {
     file.delete();
}