gpt4 book ai didi

Android - 如何显示来自 URL 的图像?

转载 作者:行者123 更新时间:2023-11-29 16:23:37 25 4
gpt4 key购买 nike

我有一个 ImageView,我需要做的就是在应用程序加载时显示来自互联网的图像。有没有一种非常简单的方法可以做到这一点?

最佳答案

ImageView.setImageURI 似乎不适用于互联网资源,因此您应该自己阅读位图。

InputStream is = new URL("http://example.com/myimage.jpg").openStream();
Bitmap bitmap = BitmapFactory.decodeStream(is);
is.close();
ImageView iv = (ImageView) findViewById(R.id.myImage);
iv.setImageBitmap(bitmap);

但这会在 UI 线程上加载图像,这可能会导致打嗝。最好在不同的线程中执行此操作,例如使用:

new AsyncTask<String, Void, Bitmap>() {
protected Bitmap doInBackground(String... params) {
try {
return loadBitmap(params[0]);
} catch (Exception e) {
Log.e("imagetask", "error loading bitmap", e);
return null;
}
}

protected Bitmap loadBitmap(String urlSpec) throws IOException {
InputStream is = new URL(urlSpec).openStream();
try {
return BitmapFactory.decodeStream(is);
} finally {
is.close();
}
}

protected void onPostExecute(Bitmap bitmap) {
if (bitmap != null) {
ImageView iv = (ImageView) findViewById(R.id.myImage);
iv.setImageBitmap(bitmap);
}
}
}.execute("http://example.com/myimage.jpg");

关于Android - 如何显示来自 URL 的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5872250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com