Android保存图片到系统图库

前言

这里使用的是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() {
            @Override
            public void onSuccess(ResponseInfo 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保存图片到系统图库

你可能感兴趣的:(Android保存图片到系统图库)