Member-only story
Learning RxJava: Easy Way — Lesson -1
5 min readSep 19, 2024
What is RxJava
RxJava (a library that is part of the broader ReactiveX family) is designed to enable reactive programming using observable streams.
Reactive Programming is a programming paradigm centered around data streams and the propagation of change. It mainly focuses on asynchronous data flows, where events (or data) are pushed to the consumers as soon as they are available, without blocking the main execution thread.
Key Concepts of Reactive Programming:
- Observable Streams: In reactive programming, you deal with streams of data or events. These streams emit data over time. For example, streams can represent mouse clicks, network responses, or any other kind of events.
- Propagation of Change: Whenever new data is emitted in the stream, the subscribed consumers (i.e. observers) automatically receive the data and process it. This is known as “reacting” to the data.
Core Concepts in RxJava:
Observable:
- This represents a source that emits a stream of data/events. An observable can emit one or more items and then either complete or fail with an error.