RxVolley = Volley + RxJava + OkHttp

jopen 10年前發布 | 96K 次閱讀 RxVolley Android開發 移動開發

RxVolley = Volley + RxJava + OkHttp

Retrofit? No, I like Volley.

RxVolley對Volley進行修改。刪除HttpClient用OkHttp代替,并支持RxJava。

If you are building with Gradle, simply add the following line to the dependencies section of your build.gradle file:

compile 'com.kymjs.rxvolley:bitmapcore:1.0.1'

Getting Started

Builder pattern to create objects.

Callback method do Get request and contenttype is form

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.FROM)//default FROM or JSON
    .params(params)
    .shouldCache(true) //default: get true, post false
    .callback(callback)
    .encoding("UTF-8") //default
    .doTask();

Callback method do Post request and contenttype is json

String paramJson = "{\n" +
                "    \"name\": \"kymjs\", " +
                "    \"age\": \"18\" " +
                "}";

//request parameters, json format
HttpParams params = new HttpParams();
params.putJsonParams(paramJson);

new RxVolley.Builder()
    .url("http://www.kymjs.com/rss.xml")
    .httpMethod(RxVolley.Method.POST) //default GET or POST/PUT/DELETE/HEAD/OPTIONS/TRACE/PATCH
    .cacheTime(6) //default: get 5min, post 0min
    .params(params)
    .contentType(RxVolley.ContentType.JSON)
    .shouldCache(true) //default: get true, post false
    .callback(callback)
    .encoding("UTF-8") //default
    .doTask();

return Observable<Result> type

Observable<Result> observable = new RxVolley.Builder()
    .url("http://www.kymjs.com/rss.xml")
    .httpMethod(RxVolley.Method.POST) //default GET or POST/PUT/DELETE/HEAD/OPTIONS/TRACE/PATCH
    .cacheTime(6) //default: get 5min, post 0min
    .params(params)
    .contentType(RxVolley.ContentType.JSON)
    .getResult(); 

//do something
observable.subscribe(subscriber);

Requirements

RxVolley can be included in any Android application.

RxVolley supports Android 3.1, API12 (HONEYCOMB_MR1) and later.

More

Which project uses it ?

 

項目地址: https://github.com/kymjs/RxVolley

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!