To understand launch modes, lets first understand

What is Task?

What is back stack?

What is task-Affinity?

Task means stack of activities. Stack basically works on last in first out the concept, so the activity that is at the top of the stack ( which comes last ) will be…

Let’s see how we can enable live crash reporting on firebase. It’s very straightforward and can be done in a few minutes. First of all, you have to integrate firebase. It can be seen here:

For this, we have to enable Crashlytics for our app.

As you are done with…

Firstly let's understand What is Firebase?

Firebase is Google’s mobile application development platform that helps you build, improve, and grow your app. See detailed description here

Let’s see how we can integrate it into our own app to get these benefits. …

There are a lot of secrets and mysteries in the world. I am sure most people have thought about it. And off cause some of them were successful in doing so—Einstein, Newton, etc. There are a lot of scientists who discovered new things. Here one can say they were exceptional…

We often have to wait for the API call to show the results on the app; during this app screen remains blanks. If API is taking too much time,, the user gets confused and frustrated about working of app. …

Subjects act as an observer as well as observable. It means you can call onNext(), onComplete(), and onError() on a Subject, and it will, in turn, pass those events downstream toward its Observers.

Let’s discuss what the types of subjects are and how and where to use them.


It’s the…

If you came to this page, I am expecting you to know about observables. If you want to have a look at observables, you can see my previous post here:

Now let’s understand hot and cold observables:

Cold Observable :

Cold Observables are much like a music CD. As you…

For a min, don’t think about Rxjava. If, in general, I ask you what is observable, what would you say? Lets search on google

According to google:


Let’s create a status activity like WhatsApp using RxJava.

First of all, I will create some extension functions that I am going to use in this post later.

fun ImageView.loadImage(imageUrl:String) {
val req = Glide.with(this)
fun {
if (this.visibility != View.VISIBLE)
this.visibility = View.VISIBLE

Sometimes we need to merge two or more observable emitting the same type of items T. In RxJava, we have some operator to do so.

Let’s see how we can do that:


merge() operator can merge 2 to 4 observable sources of the same type T.

val observableSource1 : Observable<String>…

Gaurav Rajput

Working remotely as Android Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store