The things I’ve learned using Realm
Gabor Varadi

Realm came only in 2016, but Android is much older than that.

Even before Realm, people needed to observe database changes. Some of those created their own abstractions, but Android had its own built in, which is Content Provider with its ContentObserver.

(Even tho it’s main purpose is to share data across processes it is OK to use it in-process.)

So Content Provider was barebone, it didn’t have such nice interface for change listening like LiveData, so some engineers invented Cursor Loader. (which was doing a lot of things, data retention, lifecycle integration, threading, change listening ).

So saying Realm brought observable queries to Android is not true!