import rx.Observable;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
/**
* @author AcmenXD
* @version v1.0
* @github https://github.com/AcmenXD
* @date 2017/3/21 14:55
* @detail Rx工具类
*/
public class RxUtils {
private final static Observable.Transformer schedulersTransformer = new Observable.Transformer() {
@Override
public Object call(Object observable) {
return ((Observable) observable)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
};
public static <T> Observable.Transformer<T, T> applySchedulers() {
return (Observable.Transformer<T, T>) schedulersTransformer;
}
}
/**
* 用法示例
*/
Observable.just("1","2")
.compose(RxUtils.<String>applySchedulers())
.subscribe(new Action1<String>() {
@Override
public void call(String pS) {
}
});