项目重构之网络篇 根据OkHttp封装简单的框架

604 阅读1分钟

##改造说明 之前项目用的xutils,当然不是说xutils不好了,关键是用的还是2.**版本,这个。。作者都更新到3.0以后了,所以就要换上一换了。 至于为什么用OkHttp呢,主要有两点: 1.google在Android 6.0中删除了HttpClient的Api,采用的是则是okhttp. 2.OkHttp 是基于http协议封装的一套请求客户端,虽然它也可以开线程,但根本上它更偏向真正的请求,跟HttpClient, HttpUrlConnection的职责是一样的。 至于为什么不用现成的二次封装好的框架呢,这个。。。我就是想要学习学习OkHttp 。

##一、OkHttp的基本用法 基本的post请求

private OkHttpClient client = new OkHttpClient();
  public static void post(){
    //创建Form表单对象,可以add多个键值队 
    FormBody formBody = new FormBody.Builder()
             .add("param","value")
             .add("param","value") 
             .build();   
    //创建一个Request 
    Request request = new Request.Builder()
            .url("http://www.jianshu.com/") 
            .post(formBody) 
            .build();   
    //发起异步请求,并加入回调 
    client.newCall(request).enqueue(new Callback() {
       @Override 
       public void onFailure(Call call,IOException e){

       } 
       @Override 
       public void onResponse(Call call,Response response) throws IOException{ 
             Log.e("okHttp","post="+response.body().string());
       }
   });
   }


###参考: (一)RxJava在Android网络框架中的使用 【续】网络框架篇(RxJava+OkHttp+Gson)  Android OkHttp完全解析 是时候来了解OkHttp了 Android 你必须学会的okhttp3.0入门篇 OkHttp使用教程 OkRx扩展,让OkGo完美结合RxJava,比Retrofit更简单易用 Android架构系列-封装自己的okhttp 开源项目OkHttpPlus——OkHttp封装库,支持GET、POST、UI线程回调、JSON格式解析、链式调用、小文件上传下载及进度监听