我想在管理状态的singleton类中创建一个observate(即它存储一个auth令牌)。我希望我的android应用程序/活动订阅一个observate,该observate将在每次状态(auth token)更新时发出更新。我该怎么做?我看到的所有示例都展示了如何创建一个立即完成或在订阅之后完成的自包含可观测数据。
谢谢你的帮助!
最佳答案
你需要一个BehaviorSubject
。
BehaviorSubject<State> rxState = BehaviorSubject.create(initialState);
// update state
rxState.onNext(newState);
// observe current state and all changes after
rxState.subscribe(...);
如果要同时从多个线程设置状态,则需要将其作为第一行。
Subject<State, State> rxState = BehaviorSubject.create(initialState).toSerialized();