【发布时间】:2014-02-22 08:04:05
【问题描述】:
我已经编写了这段代码,它在指定文件夹名称中保存图像,但我想将此图像保存在 Gallery/Specified FolderName/Image中。有人可以帮我吗..... 代码:
saveImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
saveImage(getBitmapFromAsset("save_fatwa.jpg"),
"save_fatwa.jpg");
}
});
private Bitmap getBitmapFromAsset(String strName) {
AssetManager assetManager = getAssets();
InputStream istr = null;
Bitmap bitmap = null;
try {
istr = assetManager.open(strName);
if (istr.equals(null)) {
Log.i("getBitmapFromAsset isStr", "" + istr);
bitmap = BitmapFactory.decodeStream(assetManager
.open("save_fatwa.jpg"));
} else {
bitmap = BitmapFactory.decodeStream(istr);
}
} catch (IOException e) {
e.printStackTrace();
}
// Bitmap bitmap = BitmapFactory.decodeStream(istr);
return bitmap;
}
private void saveImage(Bitmap finalBitmap, String imageName) {
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/Jamia Binoria Images");
myDir.mkdirs();
// String fname = "save_fatwa.jpg";
File file = new File(myDir, imageName);
if (file.exists()) {
Log.i("file exists", "" + imageName);
file.delete();
} else {
Log.i("file does not exists", "" + imageName);
}
try {
FileOutputStream out = new FileOutputStream(file);
finalBitmap.compress(Bitmap.CompressFormat.JPEG,90,out);
// sendBroadcast(new Intent(
// Intent.ACTION_MEDIA_MOUNTED,
// Uri.parse("file://" +
// Environment.getExternalStorageDirectory())));
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
这里我使用了另一个函数从资产文件夹中获取图像。请让我知道在此代码中添加什么以将其保存在 Gallery/FolderName/Image 中
【问题讨论】:
-
logcat 中有任何堆栈跟踪吗?
-
您是否为清单文件添加了读写外部存储权限?
标签: android imageview android-assets