Awesome Open Source
Awesome Open Source

Local Database Cache with REST API, Retrofit2, MVVM Architecture

Watch the app demo.

In this course you'll learn how to build a local database cache with SQLite and Room. The cache retrieves data from a REST API using Retrofit2. Architecture is MVVM.

Here's the specifics of what you will see in the course:

  1. Caching data for when the network goes offline
  2. Reading cached data when the network is down
  3. Custom SQLite queries using Room
  4. Customizing the cache (how long data will live in the cache)
  5. How Retrofit caching works
  6. Why SQLite and Room is better for caching than Retrofit
  7. How to design a database cache
    • There is no "one size fits all"
    • Retrofit is better for some things but room is better for others
  8. How Glide caching works
  9. Glide RecyclerView Preloader (Customizing how many list items get cached)
  10. Dealing with Network Errors and slow network speeds
  11. OkHttp Network Timeouts
  12. Converting Retrofit Calls to LiveData (Call Adapters)
  13. And much more...

Architecture Diagram


  1. gmiklay
    1. Converted to AndroidX: branch: pr/1

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
java (31,753
architecture (356
mvvm (343
retrofit2 (195
room (93
mvvm-android (52
room-persistence-library (45
jetpack-android (43
android-jetpack (18