The new LiveData can be used as a replacement for RxJava\'s observables in some scenarios. However, unlike Observable
, LiveData
has no callback for
I have built a movie search app here in which I have used to different LiveData
objects, one for the successful response from the network and one for the unsuccessful:
private val resultListObservable = MutableLiveData>()
private val resultListErrorObservable = MutableLiveData()
fun findAddress(address: String) {
mainModel.fetchAddress(address)!!.subscribeOn(schedulersWrapper.io()).observeOn(schedulersWrapper.main()).subscribeWith(object : DisposableSingleObserver?>() {
override fun onSuccess(t: List) {
entityList = t
resultListObservable.postValue(fetchItemTextFrom(t))
}
override fun onError(e: Throwable) {
resultListErrorObservable.postValue(e as HttpException)
}
})
}