RxJava中的MutableLiveData等效项是什么?

新手

根据下面来自LiveData Android文档的示例,RxJava 2等效于什么?

我们当然可以使用的组合publish()refcount()replay()实现了MutableLiveData观察行为的核心。也就是说,mCurrentName.setValue()与检测变化并发出相应事件有关的类似对应物是什么?

public class NameViewModel extends ViewModel {

// Create a LiveData with a String
private MutableLiveData<String> mCurrentName;

    public MutableLiveData<String> getCurrentName() {
        if (mCurrentName == null) {
            mCurrentName = new MutableLiveData<String>();
        }
        return mCurrentName;
    }

// Rest of the ViewModel...
}
阿卡诺克德

您可以BehaviorSubject在某些级别上复制效果

如果您只想通知观察者:

BehaviorSubject<Integer> subject = BehaviorSubject.create();

subject.subscribe(System.out::println);

subject.onNext(1);

如果要始终在主线程上通知观察者:

BehaviorSubject<Integer> subject = BehaviorSubject.create();

Observable<Integer> observable = subject.observeOn(AndroidSchedulers.mainThread());

observable.subscribe(System.out::println);

subject.onNext(1);

如果您希望能够从任何线程发出信号:

Subject<Integer> subject = BehaviorSubject.<Integer>create().toSerialized();

Observable<Integer> observable = subject.observeOn(AndroidSchedulers.mainThread());

observable.subscribe(System.out::println);

subject.onNext(1);

用于createDefault使其具有初始值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章