在Android开发框架中,比较重要的一个模块,就是网络请求模块。一个封装比较好的网络请求框架,会让开发者在发送请求和处理回调都十分方便。这篇文章就围绕着使用比较广泛的okhttp3来写,声明一下,本人不是大神,所以封装的并不完善,只是想给大家共享一下这个小小的成果。
我打算以3篇文章来介绍我是怎么封装okhttp3这个框架的,就是围绕着OkHttpClient, request, callback这三个主题来写。
本篇文章来封装Callback。
在介绍Callback之前,我们先准备两样东西。
第一,创建我们自己回调接口。接口中的方法,就是你想在Activity或者Fragment发送请求后,展示出来的回调方法,看代码,更容易理解。
public interface HandleResultListener {
public void onStart();
public void onSuccess(JSONObject responseObj);
public void onFailure(Object obj);
public void onFinish();
}
看名称应该就很容易理解了,这四个方法执行的时机是:请求开始,请求成功,请求失败,请求结束。
了解okhttp3框架的同僚应该知道,okhttp3的回调方法,只有两个:onResponse()和onFailure()。我添加了onStart()和onFinish(),会方便使用者在发起请求或者请求结束的时候,加些自己的处理逻辑,具体怎么用,等我介绍完另一个准备事物会串讲。
第二,创建异常处理类。我们查看异常的时候,通常都是看msgCode和msg,也就是异常错误码和异常描述信息,所以只声明这两个属性就够了,看代码更易理解。
public class OkHttpException extends Exception {
private static final long serialVersionUID = 1L;
private int msgCode;
private Object msg;
public OkHttpException(int msgCode, Object msg){
this.msg = msg;
this.msgCode = msgCode;
}
public int