Replace callbacks with observables from RxJava
For example you can use Observable.fromCallable to create observable with your data. public Observable<Data> getData(){ return Observable.fromCallable(() -> { Data result = null; //do something, get your Data object return result; }); } then use your data getData().subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(data -> { //do something with your data }, error -> { //do something on error … Read more