1. Урок 1. 00:06:46
    Course Demo
  2. Урок 2. 00:03:37
    How to Use the Source Code
  3. Урок 3. 00:15:27
    SQLite Cache vs Retrofit Cache
  4. Урок 4. 00:07:18
    Displaying Search Categories
  5. Урок 5. 00:06:38
    Network Status Resource Class
  6. Урок 6. 00:11:08
    Generic Class for Handling Retrofit Responses
  7. Урок 7. 00:06:31
    Single Source of Truth Principal
  8. Урок 8. 00:12:20
    Network Bound Resource (Part 1/3)
  9. Урок 9. 00:10:08
    Network Bound Resource (Part 2/3)
  10. Урок 10. 00:04:09
    Executors
  11. Урок 11. 00:15:57
    Network Bound Resource (Part 3/3)
  12. Урок 12. 00:03:19
    Room Persistence Dependencies
  13. Урок 13. 00:06:28
    Room Database
  14. Урок 14. 00:04:56
    Room Type Converters
  15. Урок 15. 00:06:11
    Room Entities
  16. Урок 16. 00:16:18
    Custom SQLite Queries and Room DAO
  17. Урок 17. 00:12:57
    Repository Setup
  18. Урок 18. 00:19:14
    Converting Retrofit Calls to LiveData (Call Adapter Factory)
  19. Урок 19. 00:06:58
    Refreshing the Cache
  20. Урок 20. 00:09:03
    Fetching Recipes
  21. Урок 21. 00:09:26
    Improving the Query Experience
  22. Урок 22. 00:11:00
    Loading Animation
  23. Урок 23. 00:08:43
    Refactoring ViewHolders and RecyclerView Adapter
  24. Урок 24. 00:07:50
    Querying the Next Page of Results
  25. Урок 25. 00:02:36
    Back Navigation
  26. Урок 26. 00:03:43
    Canceling a Search Request
  27. Урок 27. 00:16:34
    OkHttp Network Requests
  28. Урок 28. 00:08:48
    Expired API Keys
  29. Урок 29. 00:10:27
    Glide RecyclerView Preloaders
  30. Урок 30. 00:09:12
    Cache Refresh Time Constraints
  31. Урок 31. 00:08:13
    Refreshing Cached Data
  32. Урок 32. 00:06:21
    Setting Widget Properties