What is the RxJava and  Reactive Programming

What is the RxJava and  Reactive Programming
RxJava is a java virtual machine implementation of reactive executions
But what is  reactive executions?
Reactive  Executions is  a library for making asynchronous and  event-based programing by using observable sequences 
In other words, different parts  of your app run simultaneously .
Supposed  that  you have  a  program that in  the same time you are working  with it, it can download a video for  any server  and it also   be able to send a file  to another server.these  tasks could be done  while  you are  working  with  the app and when you are interacting  within the application.

In reactive programming , observables  emit data or send data to subscribers.

observables  are  data sources .
Subscribers listen to data  emitted  by  observables. You can supposed  the data  will be pushed  from observable  to subscribers  or  observers
observables  are  data sources 
In other  word observables sends data  to observers
 

so  RxJava  could be very useful ..
JavaRx  has a lot  of  benefits  for  Android  apps
By using  JavaRx you can avoid callback hell..
Doing async or threaded works  will  be easier  and  therefor you can do a lot  with less  work and also  your  code will be more  readable .
RxJava Allows you to serve  more  requests  concurrently .
Another benefit of  Java Rx is lower memory  consumption

to be a master  RxJava 
1-learn RXjava basics
2-retrofit
3-Sqlite Data reading
4-Custom Observables
 

In the  next  articles  i will teach them

good luck