我正在处理我正在下载图像的壁纸应用程序,但我有图像替换的问题。
当我下载新图像时,它会被之前的图像取代。
这是我的代码:
public void saveImageToSDCard(Bitmap bitmap) {
String dirname = "/Amazing Wallpapers/";
File myDir = new File(Environment
.getExternalStorageDirectory().getPath() + dirname);
myDir.mkdirs();
String str = currentUrl.substring(
currentUrl.lastIndexOf('/')+1,
currentUrl.length());
String fname = "Wallpaper-" + str + ".jpg";
File file = new File(myDir, fname);
if (file.exists())
file.delete();
try {
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
Toast.makeText(
_context,
_context.getString(R.string.toast_saved).replace("#",
"\"" + pref.getGalleryName() + "\""),
Toast.LENGTH_SHORT).show();
Log.d(TAG, "Wallpaper saved to:" + file.getAbsolutePath());
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(_context,
_context.getString(R.string.toast_saved_failed),
Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:0)
只需使用当前Date
时间(以毫秒为单位)作为File
的唯一标识符。像这样:
String str = String.valueOf(System.currentTimeMillis());
我测试了你的代码并且它正在运行。