将ImageVIew中的图片保存到本地相册中

imageView = getView().findViewById(R.id.iv_code);

 private void code(){
        //将ImageView中的图片转换成Bitmap
        imageView.buildDrawingCache();
        Bitmap bitmap = imageView.getDrawingCache();
//将Bitmap 转换成二进制,写入本地

        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
        byte[] byteArray = stream.toByteArray();
        File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/picture");
        if (!dir.isFile()) {
            dir.mkdir();
        }
        //makeCheckCode()  是随机的字符串当然你也可以写别的看项目需要
        File file = new File(dir, makeCheckCode()  + ".png");
        try {
            FileOutputStream fos = new FileOutputStream(file);
            fos.write(byteArray, 0, byteArray.length);
            fos.flush();
            //用广播通知相册进行更新相册
            Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
            Uri uri = Uri.fromFile(file);
            intent.setData(uri);
            getContext().sendBroadcast(intent);
            ToastUtils.showToast("------>通知相册更新成功");
        } catch (
                FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

随机生成的字符串当做图片的名字

 public String makeCheckCode() {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < 5; i++) {
            int temp = (int) (Math.random() * 10);
            sb.append(temp);
        }
        return sb.toString();
    }

你可能感兴趣的:(android,studio)