现在在哪里可以找到AndroidObservable.fromBroadcast?

7
在1.0.0版本之前,RxAndroid中有一个名为AndroidObservable的类,其中包含fromBroadcast方法,可用于以响应式方式订阅广播。在Grokking RxJava中提到过这一点。请注意保留HTML标记。

I also like AndroidObservable.fromBroadcast(), which allows you to create an Observable that works like a BroadcastReceiver. Here's a way to be notified whenever network connectivity changes:

IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
AndroidObservable.fromBroadcast(context, filter)
                 .subscribe(intent -> handleConnectivityChange(intent));

在1.0.0版本之后,RxAndroid丢弃了许多功能并分裂成了RxAndroid本身(现在仅具有线程处理的功能)、RxLifecycleRxBindings

它们似乎都没有包含带有fromBroadcast或fromSharedPreferenceChange的AndroidObservable。

它是否在某个实际且受支持的库中实现?

2个回答

8

这个功能在1.0版本中被移除,是为了模块化努力的一部分。你可以在RxBroadcast中找到替代品。要使用它,请将依赖项添加到build.gradle中:

compile 'com.cantrowitz:rxbroadcast:1.0.0'

并按如下方式使用:

Observable<Intent> = RxBroadcast.fromBroadcast(context, intentFilter);

RxAndroid 的适当文档在哪里可以找到? - Bolein95
1
RxAndroid目前是一个小型库,你可以在不到一小时的时间内理解它的源代码。所有其他模块(如上述RxBroadcastRxLifecycle,或者RxBinding)都位于它们自己的存储库中,并且有相当不错的Readme文档。 - miensol
RxBroadcast只有29个星,似乎没有太多人在使用它。我应该使用它吗? - DàChún
1
这是一个小型库,代码质量良好,似乎也在维护中。我认为使用它几乎没有风险。 - miensol

1
简而言之,它已被移除,我还不知道有任何替代品。
你可以在这里看到它被重命名为AppObservable,然后这里在1.0版本中被删除,他们做了相当多的清理工作。
似乎存在一些严重的问题。

1
据说已经被移除以实现更好的模块化。正如在另一个答案中所说,它现在可以在RxBroadcast中使用。感谢您的努力。 - hotkey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接