例如,您可以使用 Observable.fromCallable 来创建可观察数据。
public Observable<Data> getData(){ return Observable.fromCallable(() -> { Data result = null; //do something, get your Data object return result; });}然后使用您的数据
getData().subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(data -> { //do something with your data }, error -> { //do something on error });使用了rxjava 1.x和lambda表达式。
编辑:
如果我对您的理解很好,则您想替换该侦听器,而不是将其包装为可观察的。我添加了其他示例以参考您的评论。哦.. 如果您只希望一项,也应该使用 Single
。
public Single<Data> getData() { return Single.create(singleSubscriber -> { Data result = object.getData(); if(result == null){ singleSubscriber.onError(new Exception("no data")); } else { singleSubscriber.onSuccess(result); } }); }getData().subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(data -> { //do something with your data }, error -> { //do something on error });


