【发布时间】:2016-11-01 20:30:56
【问题描述】:
我已经开始学习 RxJava 和 RxAndroid。我想用 RxJava 替换我的观察者模式。观察者模式类似于具有注册和取消注册方法的 Android LocationManager 类。 “可观察”类(不是指 rx.Observable)在其自己的线程(HandlerThread)中工作,并拥有侦听器及其 Handler 对象的映射,并且每个侦听器在其线程中被调用(通过 Handler)。我认为这很清楚。那么问题是如何使用 RxJava 来实现呢?是否有意义?我已阅读有关 PublishSubject 和 Subscriber 的信息,但我不知道如何在其线程中运行我的 Observable。我不想使用“subscribeOn”方法,因为订阅者不会创建 Observable,而只会订阅在自己的线程中接收通知。感谢您的任何建议。
【问题讨论】:
-
嗨,RxJava 为你实现了观察者模式。您只需创建数据流然后订阅。您可以通过运算符组成不同的观察者。 RxJava 并不依赖于线程。事实上,RxJava 默认是单线程的。请看看这本书“Reactive Programming with RxJava”(shop.oreilly.com/product/0636920042228.do)。它将通过 Android 示例引导您了解 RxJava 的每一个细节。
标签: android multithreading rx-java observer-pattern rx-android