android网络开发使用okhttp3库的过程中有异步操作,我们封装的时候肯定想加个回调功能来处理返回值。如下一个简单的异步get请求
定义回调接口import java.io.IOException;
import okhttp3.Response;
/**
* Created by Keli on 18/4/12.
*/
public interface ICallBackResponse {
//执行回调操作的方法
void success(String str,Response response);
void fail(okhttp3.Call call, IOException e);
}
异步get请求public static void getRequestAsync(String url, final ICallBackResponse callback) {
try {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url(url).build();
client.newCall(request).enqueue(new okhttp3.Callback() {
@Override
public void onFailure(okhttp3.Call call, IOException e) {
callback.fail(call, e);
}
@Override
public void onResponse(okhttp3.Call call, okhttp3.Response response) throws IOException {
String str = response.body().string();
callback.success(str, response);
}
});
} catch (Exception e) {
e.printStackTrace();
}
}