如何从远程源(URL)获取图像并将其显示在ImageView中?

时间:2019-04-08 23:20:56

标签: java android imageview

我正在构建一个Android Things“ kiosk”风格的应用程序,并且我希望图像能够像墙纸一样在背景中显示。我正在使用Unsplash Source来获取随机图像,但是源URL(https://source.unsplash.com/1080x1920/?long-exposure)始终会重定向到图像URL,所以我不能使用它:

InputStream is = (InputStream) new URL("https://source.unsplash.com/1080x1920/?long-exposure").getContent();
Drawable d = Drawable.createFromStream(is, "");
niceWallpaper.setImageDrawable(d);

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

使用Picasso可以解决您的问题。

String yourUrl = "https://source.unsplash.com/1080x1920/?long-exposure";
Picasso.with(MyApplication.getAppContext()).load(yourUrl).placeholder(defaultImage).memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE).into(YourImageView);

答案 1 :(得分:1)

使用Picasso

Picasso.get().load("https://source.unsplash.com/1080x1920/?long-exposure")
                            .into(imageView);