如何在图库中保存多份imageview图案
问题描述:
我正在将图库imageview
保存到图库中,但是当我另存为imageview
时,它将替换上一张图片,我不知道为什么file.createNewFile();
被忽略。如何为我的imageview
保存不同的图像文件?以下代码。如何在图库中保存多份imageview图案
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RelativeLayout content = (RelativeLayout) findViewById(R.id.dashBoard);
content.setDrawingCacheEnabled(true);
Bitmap bitmap = content.getDrawingCache();
File file = new File(Environment.getExternalStorageDirectory().getPath()+ imagename+ ".png");
try {
if (!file.exists()) {
file.createNewFile();
}
FileOutputStream ostream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 10, ostream);
ostream.close();
content.invalidate();
Toast.makeText(getApplicationContext(), "SAVED", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
} finally {
content.setDrawingCacheEnabled(false);
}
}
});
答
尝试使用UUID.randomUUID()
代替imagename
我认为imagename始终是相同的,这就是为什么它取代旧的
答
你可以把当前时间作为文件名::
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RelativeLayout content = (RelativeLayout) findViewById(R.id.dashBoard);
content.setDrawingCacheEnabled(true);
Bitmap bitmap = content.getDrawingCache();
Date d = new Date();
CharSequence imagename = DateFormat.format("MM-dd-yy hh-mm-ss", d.getTime());
File file = new File(Environment.getExternalStorageDirectory().getPath()+ imagename+ ".png");
try {
if (!file.exists()) {
file.createNewFile();
}
FileOutputStream ostream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 10, ostream);
ostream.close();
content.invalidate();
Toast.makeText(getApplicationContext(), "SAVED", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
} finally {
content.setDrawingCacheEnabled(false);
}
}
});
谢谢你的回答。它现在有效,我现在明白我的问题是什么。欢迎您来到我们的网站: –
,享受它吧 –