gpt4 book ai didi

Android:如何使用 Async 下载 .png 文件并将其设置为 ImageView?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:47:44 27 4
gpt4 key购买 nike

我有一张 .png 图像的 URL,需要下载该图像并将其设置为 ImageView 的源。到目前为止我是初学者,所以有几件事我不明白:1)我在哪里存储文件?2) 如何在 java 代码中将其设置为 ImageView?3) 如何正确覆盖 AsyncTask 方法?

提前致谢,非常感谢任何形式的帮助。

最佳答案

我不确定您是否可以从下载中明确构建 png。但是,这是我用来下载图像并将它们显示到 Imageviews 中的方法:

首先,你下载图片:

protected static byte[] imageByter(Context ctx, String strurl) {
try {
URL url = new URL(urlContactIcon + strurl);
InputStream is = (InputStream) url.getContent();
byte[] buffer = new byte[8192];
int bytesRead;
ByteArrayOutputStream output = new ByteArrayOutputStream();
while ((bytesRead = is.read(buffer)) != -1) {
output.write(buffer, 0, bytesRead);
}
return output.toByteArray();
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}

然后,创建一个 BitMap 并将其关联到 Imageview :

bytes = imagebyter(this, mUrl);
bm = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
yourImageview.setImageBitmap(bm);

就是这样。

编辑
实际上,您可以通过这样做来保存文件:

File file = new File(fileName);
FileOutputStream fos = new FileOutputStream(file);
fos.write(imagebyter(this, mUrl));
fos.close();

关于Android:如何使用 Async 下载 .png 文件并将其设置为 ImageView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3350954/

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