【发布时间】:2018-06-09 01:54:20
【问题描述】:
我正在为 Android 使用库 Reactive Network。我是 RxJava 的绝对初学者,我正在努力解决它。我想做的是:
1] 持续观察手机网络连接状态的变化
2]如果手机已连接到网络,请检查一次是否有互联网连接
为此,我在 Kotlin 中有以下代码:
ReactiveNetwork.observeNetworkConnectivity(applicationContext)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { connectivity ->
if (connectivity.state == NetworkInfo.State.CONNECTED) {
ReactiveNetwork.checkInternetConnectivity()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { isConnectedToInternet ->
if (isConnectedToInternet) {
Log.d("VED-APP", "Connected to Internet")
} else {
Log.d("VED-APP", "Not Connected to Internet")
}
}
}
}
但是,这段代码很难看,而且非常嵌套。有没有办法清理这段代码?
尽管示例使用 Kotlin,但 Java 或 Kotlin 中的答案都会有所帮助。
【问题讨论】:
标签: android kotlin rx-java rx-java2