1. Урок 1.00:04:38
    Course Outline and Agenda
  2. Урок 2.00:06:37
    Setting Up With Android Jetpack Explained
  3. Урок 3.00:10:57
    Adding and Registering the Navigation Activity
  4. Урок 4.00:15:33
    Building Data Models in Kotlin
  5. Урок 5.00:09:22
    Converting Navigation to Kotlin
  6. Урок 6.00:04:45
    Fragments Explained
  7. Урок 7.00:13:35
    Creating Fragments in Navigation
  8. Урок 8.00:03:14
    Recycler Views Explained
  9. Урок 9.00:15:40
    Creating Recycler Views
  10. Урок 10.00:09:14
    Create the Note Adapter Solution
  11. Урок 11.00:10:43
    Refactoring Adapters
  12. Урок 12.00:09:07
    Inflating Todo Views Part 1
  13. Урок 13.00:11:28
    Inflating Todo Views Part 2
  14. Урок 14.00:07:35
    Creating Custom View in Java Part 1
  15. Урок 15.00:08:52
    Creating Custom View in Java Part 2
  16. Урок 16.00:07:20
    Converting Custom View to Kotlin
  17. Урок 17.00:10:29
    Nesting Custom Views Part 1
  18. Урок 18.00:04:19
    Nesting Custom Views Part 2
  19. Урок 19.00:17:08
    Hooking up the Add Button View
  20. Урок 20.00:17:18
    Adding the Create Activity
  21. Урок 21.00:16:39
    MVVM Explained Abstract
  22. Урок 22.00:09:34
    Creating a ViewModel Using Arch Components
  23. Урок 23.00:15:19
    Working With LiveData Arch Component
  24. Урок 24.00:13:36
    Handling User Events With Contracts
  25. Урок 25.00:09:46
    Using Interfaces to Create Contracts
  26. Урок 26.00:06:06
    Linking the Note View & ViewModel
  27. Урок 27.00:04:47
    Creating a Barebones Model
  28. Урок 28.00:07:43
    Using DiffUtil to Optimize Lists
  29. Урок 29.00:08:53
    Extension Functions in Kotlin
  30. Урок 30.00:06:18
    Toothpick Explained
  31. Урок 31.00:06:46
    The Inject Annotation and Scopes
  32. Урок 32.00:13:28
    Using Bindings and Modules
  33. Урок 33.00:07:30
    Organizing and Naming Scopes
  34. Урок 34.00:10:54
    Menu Inflation and Start of Create flow
  35. Урок 35.00:10:52
    Create Task Flow Part 1
  36. Урок 36.00:09:35
    Create Task Flow Part 2
  37. Урок 37.00:11:53
    Add Save Data Logic Part 1
  38. Урок 38.00:09:54
    Add Save Data Logic Part 2
  39. Урок 39.00:06:07
    Using Interfaces to Delegate Functionality
  40. Урок 40.00:09:21
    Create Note Flow
  41. Урок 41.00:06:53
    Setting up Google Room Library
  42. Урок 42.00:10:36
    Creating a Database Client
  43. Урок 43.00:14:44
    Converting Models to Entities Part 1
  44. Урок 44.00:06:38
    Converting Models to Entities Part 2
  45. Урок 45.00:12:36
    Creating a DAO and Writing SQL
  46. Урок 46.00:10:40
    Linking Database to App Part 1
  47. Урок 47.00:12:58
    Linking Database to App Part 2
  48. Урок 48.00:04:16
    [CORRECTION] Fixing View Bug
  49. Урок 49.00:10:27
    Intro to Coroutines Part 1
  50. Урок 50.00:11:11
    Intro to Coroutines Part 2
  51. Урок 51.00:11:49
    Refactor Tasks Model to use Coroutines
  52. Урок 52.00:12:31
    Refactoring Into Suspend Functions
  53. Урок 53.00:10:18
    Custom DiffUtil With Sealed Classes Part 1
  54. Урок 54.00:09:19
    Custom DiffUtil With Sealed Classes Part 2
  55. Урок 55.00:10:42
    Using Annotations on Save Note Workflow Part 1
  56. Урок 56.00:07:53
    Using Annotations on Save Note Workflow Part 2
  57. Урок 57.00:09:32
    Using Bindings on Save Task Workflow
  58. Урок 58.00:01:43
    Summary and Resources
  59. Урок 59.00:08:53
    Introduction to Junit and Assert