OKHttpClient封装
2018-01-28 21:48
405 查看
注:一定要在MainActivity中调用接口回调的方法 public class OKHttpUtils { //单利模式,获取对象 private static OKHttpUtils okHttpUtils = null; private MyHandler myhandler = new MyHandler(); private OkLoadListener okLoadListener; public static OKHttpUtils getInstance() { if (okHttpUtils == null) { okHttpUtils = new OKHttpUtils(); } return okHttpUtils; } //get请求 public void OkGet(String url) { //创建ok对象 OkHttpClient okHttpClient = new OkHttpClient(); //创建请求对象 //路径是单独写了一个类(存放路径:HttpConfig.goods_url) Request request = new Request.Builder().url(HttpConfig.goods_url).build(); //创建请求队列 Call call = okHttpClient.newCall(request); //执行,异步请求 call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { Message message = myhandler.obtainMessage(); message.what = 0; message.obj = e.getMessage(); myhandler.sendMessage(message); } @Override public void onResponse(Call call, Response response) throws IOException { Message message = myhandler.obtainMessage(); message.what = 1; message.obj = response.body().string(); myhandler.sendMessage(message); } }); } //处理线程 class MyHandler extends Handler { @Override public void handleMessage(Message msg) { //处理消息 switch (msg.what) { //失败 case 0: String error = (String) msg.obj; okLoadListener.LoadError(error); break; //成功 case 1: String json = (String) msg.obj; okLoadListener.LoadSuccess(json); break; } } } //接口回调 // 《1》定义接口 public interface OkLoadListener { void LoadSuccess(String json); void LoadError(String error); } // 《2》定义一个方法,共外部调用 public void setLoadListener(OkLoadListener okLoadListener) { this.okLoadListener = okLoadListener; } }
相关文章推荐
- Android封装OkHttpClient的类库
- okhttp3相关封装配置(一):OkHttpClient的参数配置
- OkHttpClient 基础方法封装
- 二次封装OKhttpClient和使用
- OkHttpClient网络框架封装
- OkHttpClient简单封装
- OkHttpClient请求网络数据
- OkHttpClient使用相关
- 商城项目实战29:Httpclient封装的Http工具
- OkHttpClient带多个参数的get请求
- android通过okhttpClient下载网页内容的实例代码
- 安卓使用OkHttpClient进行网络请求
- 安卓OKhttp的二次封装
- HttpClient 讲解 (2) 项目封装
- 轻松把玩HttpClient之封装HttpClient工具类(四),单线程调用及多线程批量调用测试
- 通用封装系列——OkHttp
- 轻松把玩HttpClient之封装HttpClient工具类(五),携带Cookie的请求
- OkHttpClientManager使用
- OKhttp源码学习(二)—— OkHttpClient
- PHP HttpClient封装