网络图片下载到本地相册

知道图片的url,然后通过Picasso进行图片加载
发送广播通知系统图库更新相册

Picasso.with(DiaActivity.this).load(url).into(new Target() {
            @Override
            public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
                **// 创建目录**
                File appDir = new File(Environment.getExternalStorageDirectory(), "zhhzFeng");
                if (!appDir.exists()) {
                    appDir.mkdir();
                }
                String imageType = getImageType(url); //获取图片类型
                String fileName = System.currentTimeMillis() + "." + imageType;
                File file = new File(appDir, fileName);
                **//保存图片**
                try {
                    FileOutputStream fos = new FileOutputStream(file);
                    if(TextUtils.equals(imageType,"jpg")) imageType = "jpeg";
                    imageType = imageType.toUpperCase();
                    bitmap.compress(Bitmap.CompressFormat.valueOf(imageType), 100, fos);
                    fos.flush();
                    fos.close();
                    Toast.makeText(DiaActivity.this,"保存成功",Toast.LENGTH_SHORT).show(); //Toast
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                **// 其次把文件插入到系统图库**
                try {
                    MediaStore.Images.Media.insertImage(DiaActivity.this.getContentResolver(), file.getAbsolutePath(), fileName, null);
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }
                **// 最后通知图库更新**
                DiaActivity.this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file.getPath())));
            }

            @Override
            public void onBitmapFailed(Drawable errorDrawable) {

            }

            @Override
            public void onPrepareLoad(Drawable placeHolderDrawable) {

            }
        });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值