okhttp 回调函数
时间: 2023-08-28 09:17:00 浏览: 57
OkHttp是一个用于Android和Java的HTTP客户端库,它可以用来发送HTTP请求和处理响应。在OkHttp中,回调函数用于处理异步请求的响应。
OkHttp提供了多种回调函数来处理不同的响应情况,其中最常用的是`Callback`接口。你可以创建一个实现`Callback`接口的匿名类或自定义类,并重写其中的方法来处理响应。
以下是一个使用OkHttp进行异步请求的示例,其中包含了回调函数的使用:
```java
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class OkHttpExample {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.example.com/data")
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
// 处理响应
String responseData = response.body().string();
System.out.println("Response: " + responseData);
}
@Override
public void onFailure(Call call, IOException e) {
// 处理请求失败
e.printStackTrace();
}
});
}
}
```
在上述示例中,我们创建了一个OkHttpClient实例,并构建了一个Request对象。然后,我们通过调用`enqueue()`方法来发送异步请求,并传入一个匿名的`Callback`对象。在`onResponse()`方法中,我们处理成功响应的逻辑,而在`onFailure()`方法中,我们处理请求失败的逻辑。
这只是一个简单的示例,你可以根据自己的需求来处理响应数据和错误。请注意,回调函数在非UI线程中执行,因此在处理UI相关操作时需要进行线程切换。