如何使用从适配器传递的 url 下载图像

Posted

技术标签:

【中文标题】如何使用从适配器传递的 url 下载图像【英文标题】:How to download image from using url passed from adapter 【发布时间】:2019-10-24 10:47:16 【问题描述】:

我通过图像 url 表单适配器并想从 url 下载图像:

imageView = (ImageView) findViewById(R.id.image_view);
buttonDownload = (Button)findViewById(R.id.buttonDownload);

String strImage= String.valueOf(getIntent().getStringExtra("URL"));

Glide.with(this)
    .load(strImage)
    .into(imageView);

buttonDownload.setOnClickListener(new View.OnClickListener() 
    @Override
        public void onClick(View v) 
            //what to do
        
    );

【问题讨论】:

请发布您的适配器代码 将您的 Glide 代码放入 onClick 中。 【参考方案1】:

您可以在 Glide 中创建自定义回调以保存图像,如下所示:

Glide.with(context)
  .asBitmap()
  .load(url)
  .into(new Target<Bitmap>() 
     ...
);

您可以设置目标并从中获取位图,然后将其保存在您想要的任何位置。

在 Glide 官方页面查看更多文档: https://bumptech.github.io/glide/doc/getting-started.html

【讨论】:

在 load() 的 url 中放什么? @MuPK 您应该使用“strImage”作为代码示例中的 url。 能否提供下载代码到内部存储? 你可以在这里看到一个例子:***.com/a/44762833/1537916 并尝试谷歌搜索更多,有大量的例子。 :)【参考方案2】:
public static void downloadFile(Context context,String file,String fileName)

    DownloadTask downloadTask = new DownloadTask(context,file,fileName);
    downloadTask.execute(file);

【讨论】:

以上是关于如何使用从适配器传递的 url 下载图像的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Firebase 存储中获取调整大小的图片下载 URL

将图像从 URL 加载到 ListView

如何使用 NSURlConnection 从 Url 下载图像以保存在手机缓存中

如果使用 Asynctask 将 URL 存储在 ArrayList 中,如何从服务器下载图像?

如何从服务器下载图像如果使用Asynctask存储在ArrayList中的URL?

如何使用 angularjs 从 url 下载(保存)图像到我们的相册中?