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