防止用新图像替换以前的图像(android)
我正在使用壁纸应用程序下载图像,但我有图像替换问题 当我下载新图片时,它会被以前的图片所取代 这是我的代码:防止用新图像替换以前的图像(android),android,image,android-image,environment,fileoutputstream,Android,Image,Android Image,Environment,Fileoutputstream,我正在使用壁纸应用程序下载图像,但我有图像替换问题 当我下载新图片时,它会被以前的图片所取代 这是我的代码: public void saveImageToSDCard(Bitmap bitmap) { String dirname = "/Amazing Wallpapers/"; File myDir = new File(Environment .getExternalStorageDirectory().getPath()
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();
}
}
只需使用当前的
日期
时间(毫秒)作为文件的唯一标识符
。像这样:
String str = String.valueOf(System.currentTimeMillis());
我测试了你的代码,它正在工作 好的,它工作了,但产生了新的问题,问题是现在我可以保存相同的图像多次。但我不想保存同一个图像多次,如果它已经exist@android问题是,你必须想办法知道哪些文件已经保存并检查它。例如,ViewPager页面的位置。或者文件名。如果我的答案对您有帮助,请接受/更新我的答案。