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.
The app used to retrieve the data from Food2Fork.com, but that website has been shutdown. A Codingwithmitch.com community member stripped the data and published to this heroku app: recipesapi.herokuapp.com. Special thanks to Simran doing this!
Example request: http://recipesapi.herokuapp.com/api/search?q=chicken
Here's the specifics of what you will see in the course:
- Caching data for when the network goes offline
- Reading cached data when the network is down
- Custom SQLite queries using Room
- Customizing the cache (how long data will live in the cache)
- How Retrofit caching works
- Why SQLite and Room is better for caching than Retrofit
- 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
- How Glide caching works
- Glide RecyclerView Preloader (Customizing how many list items get cached)
- Dealing with Network Errors and slow network speeds
- OkHttp Network Timeouts
- Converting Retrofit Calls to LiveData (Call Adapters)
- And much more...