今天主要说的是把图片保存到本地相册,
一、主要思路:
将一张图片,无论是本地图片还是网络图片先转成Bitmap格式,再调用方法保存到相册中
二、开发过程中可能会遇到的问题:
1:保存成功了,但图库不显示
原因:没刷新图库
解决:写一个广播,通知刷新图库
2:保存失败或者抛异常
原因:可能要写入的文件夹不存在
解决:如果不存在,一定要先创建文件夹再写入
三、实现方案:
/**
* 保存图片到本地
*
* @param name 图片的名字,比如传入“123”,最终保存的图片为“123.jpg”
* @param bitmap 本地图片或者网络图片转成的Bitmap格式的文件
* @return
*/
public void saveImage(String name, Bitmap bitmap) {
File pathFile = new File(Environment.getExternalStorageDirectory() + File.separator + Environment.DIRECTORY_PICTURES + File.separator);
if (!pathFile.exists()) {
pathFile.mkdir();
}
File file = new File(pathFile, name + ".jpg");
try {
FileOutputStream fos = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
// 最后通知图库更新
ToastsUtils.centerToast(this, "保存成功");
Uri localUri = Uri.fromFile(file);
Intent localIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, localUri);
sendBroadcast(localIntent);
} catch (IOException e) {
e.printStackTrace();
}
}
本文详细介绍了如何将Bitmap格式的图片保存到Android设备的本地相册,包括保存过程可能出现的问题及其解决方案,如图库不显示新图片的刷新问题和文件夹不存在的处理。提供了一个具体的代码实现,通过创建文件夹、写入图片并发送广播通知图库更新来确保图片保存成功。
&spm=1001.2101.3001.5002&articleId=114450008&d=1&t=3&u=3a4c5586890f4639bc038f5395ee0102)
1万+

被折叠的 条评论
为什么被折叠?



