I am not getting the reason to use RxJava in Android and LiveData from Android Architectural Components.It would be really helpful if the usecases and differences between the both are explained along with sample example in the form of code which explains the differences between the both.
Regarding the original question, both RxJava and LiveData complement each other really well.
LiveData
shines on ViewModel layer, with its tight integration with Android lifecycles and ViewModel
. RxJava
provides more capabilities in transformations (as mentioned by @Bob Dalgleish).
Currently, we're using RxJava
in data source and repository layers, and it's transformed into LiveData
(using LiveDataReactiveStreams
) in ViewModels (before exposing data to activities/fragments) - quite happy with this approach.