Java 如何从url Android Studio将位图下载到图库

Java 如何从url Android Studio将位图下载到图库,java,android,bitmap,Java,Android,Bitmap,我的项目上有位图,我想从url下载我的位图到图库。我该怎么办 我确实用它来创建二维码 private Bitmap stringToBitmap(String content){ try { QRCodeWriter writer = new QRCodeWriter(); BitMatrix bitMatrix = writer.encode(content, BarcodeFormat.QR_CODE, 512, 512);

我的项目上有位图,我想从url下载我的位图到图库。我该怎么办

我确实用它来创建二维码

private Bitmap stringToBitmap(String content){
        try {
            QRCodeWriter writer = new QRCodeWriter();
            BitMatrix bitMatrix = writer.encode(content, BarcodeFormat.QR_CODE, 512, 512);
            int width = bitMatrix.getWidth();
            int height = bitMatrix.getHeight();
            Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
            for (int x = 0; x < width; x++) {
                for (int y = 0; y < height; y++) {
                    bmp.setPixel(x, y, bitMatrix.get(x, y) ? Color.BLACK : Color.WHITE);
                }
            }
            return bmp;
        } catch (WriterException e) {
            e.printStackTrace();
            return null;
        }
    }
}
 @Override

    public void onClick(View view) {
        Intent i;
        switch (view.getId()) {
            case R.id.qrindir:
                Bitmap imageResult = stringToBitmap(texttt.getText().toString());
//I want download bitmap in there
                break;

        }
    }
我将其用于stringtoBitmap

olustur.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {

                        Bitmap imageResult = stringToBitmap(texttt.getText().toString());
       }                });

            }

如果我没有弄错您的问题,您希望将位图保存到内部存储器中

在这种情况下,您可以使用如下方式使用
Bitmap.compress()
方法:

试试看{
FileOutputStream outstream=新的FileOutputStream(要保存的路径);
compress(bitmap.CompressFormat.PNG,100,扩展);
exptream.close();
}捕获(IOE异常){
...
}
还要确保为了在运行时将文件写入需要请求的内部(主)存储,这可能不适用于Android 10(API 29)以上的设备。在这种情况下,您可以使用创建文档。

尝试以下操作:

private final void saveJpeg(@NonNull位图,@NonNull字符串文件名)引发IOException{
//创建将连接到外部媒体存储的文件输出流
OutputStream fos=null;
ContentResolver cr=getApplicationContext().getContentResolver();
ContentValues cv=新的ContentValues();
//为文件设置元数据
cv.put(MediaStore.MediaColumns.DISPLAY_NAME,fileName);
cv.put(MediaStore.MediaColumns.MIME_TYPE,“image/jpg”);
cv.put(MediaStore.MediaColumns.RELATIVE_PATH,Environment.DIRECTORY_PICTURES);
//获取新图像文件的uri
Uri imageUri=cr.insert(MediaStore.Images.Media.EXTERNAL\u CONTENT\u Uri,cv);
//连接文件输出流
fos=cr.openOutputStream(imageUri);
//压缩位图并写入输出流
bitmap.compress(bitmap.CompressFormat.JPEG,100,fos);
//关闭文件输出流
fos.flush();
fos.close();
}
这会将位图压缩为jpg并写入gallery

另外,请记住在AndroidManifest.xml中获得权限



可以添加什么(保存路径);文件的路径,例如:file(Environment.getExternalStorageDirectory(),“file.png”),这将在设备的根主存储中创建“file.png”;和`位图imageResult=stringToBitmap(texttt.getText().toString())**saveJpeg**(图像结果,“deneme”)`您是否在活动中调用了此功能?请查看我的更新SaveJPEG(可以添加哪些内容);你能帮我保存JPEG吗;