RxVolley = Volley + RxJava(RxJava2.0) + OkHttp(OkHttp3)
Java
Switch branches/tags
Nothing to show
Clone or download
kymjs Merge pull request #54 from lgyjg/master
修改了下README的标题格式
Latest commit 66f28f2 Nov 10, 2017
Permalink
Failed to load latest commit information.
RxVolley 更新工具包 Jan 17, 2017
.gitignore update Dec 18, 2015
README.md modify README format Apr 4, 2017
Readme_zh.md modify README format Apr 4, 2017

README.md

RxVolley = Volley + RxJava + OkHttp

中文帮助

Retrofit? No, I like Volley.

RxVolley is modified Volley. Removed the HttpClient, and support 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:rxvolley:1.1.4'

// If use okhttp function
compile 'com.kymjs.rxvolley:okhttp:1.1.4'
//or
compile 'com.kymjs.rxvolley:okhttp3:1.1.4'

// If use image-loader function
compile 'com.kymjs.rxvolley:bitmapcore:1.1.4'

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.FORM)//default FORM 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);

// upload progress
ProgressListener listener = new ProgressListener(){
    @Override
    public void onProgress(long transferredBytes, long totalSize){
    }
}

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
    .progressListener(listener) //upload progress
    .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.

License

Licensed under the Apache License Version 2.0. The "License"