RxAndroid如何(有可能)将一些参数放入Observable

时间:2015-12-09 12:39:47

标签: android rx-java rx-android

我的麻烦是我需要将一些参数(String作为示例)放入Observable中以便进行一些工作,我该怎么做,是否可能?非常简单的示例是我们如何将params发送到AsyncTask:

mvn dependency:tree -Dverbose

2 个答案:

答案 0 :(得分:1)

编写异步任务时,请捕获参数:

Object[] params = { false, true, true};
Observable
.fromCallable(() -> { use params; return value; })
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(...);

或转换参数:

Observable.just(params)
.map(p -> { use p; return value; });
...

或为一组参数生成许多值:

Observable.just(params)
.flatMap(p -> { use p, return Observable.something; })
...

答案 1 :(得分:0)

将你的参数发送到普通函数并返回你的Obsverable类型并让它在后台运行。

public T yourFunction(A a,B b,C c){
    ...
    return t;
}

Observable.from(yourFunction(a,b,c))
      .subscribeOn(Schedulers.newThread())
      .observeOn(AndroidSchedulers.mainThread())
      .subscribe(yourTObserver);