我在 ImagePagerActivity 中实现了一个保存按钮,但是当我点击保存按钮时它会崩溃。
请指出我可能导致不知道的任何错误,或者是否有另一种方法可以更有效地将图像保存到SD卡。我仍然是编码新手,所以请仔细检查我的工作。
ImagePagerActivity.java
.....
Button isave;
isave = (Button) findViewById(R.id.save);
isave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Bitmap mSaveBit = imageLoader.getMemoryCache().get(Constants.IMAGES[pager.getCurrentItem()]);
File imageFile = null;
if (null == mSaveBit) {
imageFile = imageLoader.getDiscCache().get(Constants.IMAGES[pager.getCurrentItem()]);
}
File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/HD GOSPEL LOCKSCREENS");
if (!f.exists()) {
f.mkdirs();
}
f = new File(f.getAbsolutePath(),
String.valueOf(System.currentTimeMillis()) + "HDGL.PNG");
if (!f.exists()) {
try {
f.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
mSaveBit.compress(Bitmap.CompressFormat.PNG, 100, new FileOutputStream(f));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Toast.makeText(ImagePagerActivity.this, "Image Successfully Saved", Toast.LENGTH_LONG).show();
}
});
.....