前言
这里使用的是XUTILS网络请求哈,网络请求存储权限之类的就不写了
实现方式
1. 获取图片被保存的文件夹
public static String getFilePath(Context context) {
String result = Environment.getExternalStorageDirectory() + "/myview";
File file = new File(result);
if (!file.exists() || !file.isDirectory()) {
file.mkdirs();
}
return result;
}
2. 下载图片并保存
//下载图片并保存
public static void download(final Context context, String url) {
final String fileName = System.currentTimeMillis() + ".jpg";//这里使用时间戳作为名字
final String savePath = getFilePath(context) + File.separator + fileName;
NetWorkManager.getInstance().getDonwloadUtils().download(url, savePath, new RequestCallBack<File>() {
@Override
public void onSuccess(ResponseInfo<File> responseInfo) {
//下载成功后刷新一下图片地址
try {
MediaStore.Images.Media.insertImage(context.getContentResolver(),
savePath, fileName, null);
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,
Uri.parse("file://" + savePath)));
}
catch (Exception e) {
}
}
@Override
public void onFailure(HttpException e, String s) {
}
});
}
参考网址
java 类File的方法: mkdir()方法与mkdirs()的区别
Android保存图片并显示系统图库
ANDROID保存图片到系统图库
网友评论