转载:https://gank.io/post/560e15be2dca930e00da1083#toc_8

项目:https://github.com/kymjs/RxVolley

1、基本用法:

  HttpParams params = new HttpParams();


      //http header, optional parameters

      params.putHeaders("cookie", "your cookie");

      params.putHeaders("User-Agent", "rxvolley"); 


      //request parameters

      params.put("name", "kymjs");

      params.put("age", "18");


      HttpCallback callBack = new HttpCallback(){

          @Override

          public void onSuccess(String t) {

          }

          @Override

          public void onFailure(int errorNo, String strMsg) {

          }

      }


      new RxVolley.Builder()

          .url("http://www.kymjs.com/rss.xml")

          .httpMethod(RxVolley.Method.GET) //default GET or POST/PUT/DELETE/HEAD/OPTIONS/TRACE/PATCH

          .cacheTime(6) //default: get 5min, post 0min

          .contentType(RxVolley.ContentType.FORM)//default FORM or JSON

          .params(params)

          .shouldCache(true) //default: get true, post false

          .callback(callBack)

          .encoding("UTF-8") //default

          .doTask();


2、封装后:

HttpParams params = new HttpParams();
params.putHeaders("cookie", "aliyungf_tc=AQAAAOEM/UExEAsAUAYscy4Da0FfTWqX;" + "oscid=vv%2BiiKldi6wRaKbbRig0DDvMcIURmo56ZCZD2bfC83AsmxdhUxEVnr3ORNGz7BjiFlkpGQHUKJoRTzVAwy3oVtcO7JsM4nRIjEl6ZgM%2BmZgplCH0foAIiQ%3D%3D;");

params.put("uid", 863548);
params.put("msg", "睡觉");
params.put("img", new File(FileUtils.getSDCardPath() + "/request.png"));

RxVolley.post("http://192.168.1.11/action/api/software_tweet_pub", params, new ProgressListener()
{
    @Override
    public void onProgress(long transferredBytes, long totalSize)
    {
        Loger.debug(transferredBytes + "=====" + totalSize);
        Loger.debug("=====当前线程" + (Thread.currentThread() == Looper.getMainLooper().getThread()));
    }
}, new HttpCallback()
{
    @Override
    public void onSuccess(String t)
    {
        Loger.debug("=====完成" + t);
    }
});