android okhttp请求网络图片并显示的程序
时间: 2023-08-15 18:06:12 浏览: 105
android获取网络图片并显示
以下是一个使用OkHttp请求网络图片并显示的Android程序示例:
1. 添加依赖
在你的`build.gradle`文件中添加以下依赖:
```
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
implementation 'com.squareup.picasso:picasso:2.71828'
```
2. 请求网络图片
在你的Activity或Fragment中,使用以下代码请求网络图片并将其显示在ImageView中:
```
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.example.com/image.jpg")
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response.isSuccessful()) {
final Bitmap bitmap = BitmapFactory.decodeStream(response.body().byteStream());
// 更新UI
runOnUiThread(new Runnable() {
@Override
public void run() {
ImageView imageView = findViewById(R.id.imageView);
imageView.setImageBitmap(bitmap);
}
});
} else {
throw new IOException("Unexpected code " + response);
}
}
});
```
3. 使用Picasso简化代码
你也可以使用Picasso来简化代码。它是一个强大的图片加载库,可以从URL、文件或资源加载图片,并在ImageView中显示它们。
添加依赖后,你只需要使用以下代码即可加载图片:
```
Picasso.get().load("https://www.example.com/image.jpg").into(imageView);
```
这将使用OkHttp来请求网络图片,并将其显示在ImageView中。Picasso还提供其他功能,如调整大小、缓存和转换。你可以查看官方文档了解更多信息:https://square.github.io/picasso/
阅读全文