前言
這里使用的是XUTILS網(wǎng)絡(luò)請求哈,網(wǎng)絡(luò)請求存儲權(quán)限之類的就不寫了
實(shí)現(xiàn)方式
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) {
}
});
}
參考網(wǎng)址
java 類File的方法: mkdir()方法與mkdirs()的區(qū)別
Android保存圖片并顯示系統(tǒng)圖庫
ANDROID保存圖片到系統(tǒng)圖庫