Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Modern Food Recipes App - Android Development with Kotlin, а также все другие курсы, прямо сейчас!
Премиум
  1. Урок 1. 00:03:27
    Introduction
  2. Урок 2. 00:04:00
    Application Design
  3. Урок 3. 00:05:19
    Application Preview
  4. Урок 4. 00:02:44
    Project Structure Overview
  5. Урок 5. 00:08:27
    Introducing with API
  6. Урок 6. 00:05:57
    API Response Example
  7. Урок 7. 00:01:11
    Github Repository
  8. Урок 8. 00:05:15
    Project Setup
  9. Урок 9. 00:14:41
    Navigation Component Setup
  10. Урок 10. 00:08:14
    Design RecipesFragment Layout
  11. Урок 11. 00:19:41
    Design RecipesRowLayout
  12. Урок 12. 00:08:21
    Design Recyclerview Placeholder Layout
  13. Урок 13. 00:01:57
    Introducing with Retrofit
  14. Урок 14. 00:09:56
    Generate Model classes for API
  15. Урок 15. 00:04:50
    Create Constants class
  16. Урок 16. 00:04:39
    Create RecipesApi interface
  17. Урок 17. 00:03:26
    Project Structure Overview & RemoteDataSource class
  18. Урок 18. 00:10:38
    Dependency Injection Overview
  19. Урок 19. 00:14:02
    Manual Dependency Injection
  20. Урок 20. 00:11:47
    Dagger Basics
  21. Урок 21. 00:12:47
    Hilt - Dependency Injection Library | Part 1
  22. Урок 22. 00:07:36
    Hilt - Dependency Injection Library | Part 2
  23. Урок 23. 00:07:31
    Component Scoping
  24. Урок 24. 00:02:35
    Create MyApplication class
  25. Урок 25. 00:07:05
    Create NetworkModule
  26. Урок 26. 00:03:33
    Inject RemoteDataSource class
  27. Урок 27. 00:03:01
    Create and Inject Repository class
  28. Урок 28. 00:02:43
    Create NetworkResult class
  29. Урок 29. 00:14:00
    Create and Inject MainViewModel class
  30. Урок 30. 00:06:42
    Introducing with Data Binding
  31. Урок 31. 00:02:27
    Binding Adapters
  32. Урок 32. 00:10:17
    Create RecipesAdapter class
  33. Урок 33. 00:08:42
    DiffUtil - Create RecipesDiffUtil class
  34. Урок 34. 00:14:05
    Create RecipesRowBinding class
  35. Урок 35. 00:16:04
    RecipesFragment - Connect the Dots
  36. Урок 36. 00:06:41
    Create RecipesViewModel class
  37. Урок 37. 00:03:48
    Let's Recap
  38. Урок 38. 00:02:38
    Introducing with ROOM Library
  39. Урок 39. 00:02:19
    Offline Caching
  40. Урок 40. 00:04:07
    Introducing with Kotlin Flow
  41. Урок 41. 00:03:09
    Create Entity (RecipesEntity)
  42. Урок 42. 00:04:48
    Create DAO (RecipesDao)
  43. Урок 43. 00:03:43
    Create Type Converter (RecipesTypeConverter)
  44. Урок 44. 00:03:23
    Create Database (RecipesDatabase)
  45. Урок 45. 00:03:25
    Create DatabaseModule
  46. Урок 46. 00:03:25
    Create and Inject LocalDataSource
  47. Урок 47. 00:05:37
    MainViewModel - Offline Cache
  48. Урок 48. 00:08:09
    RecipesFragment - Read from Database
  49. Урок 49. 00:03:16
    ObserveOnce - Extension Function
  50. Урок 50. 00:03:51
    Database Inspector
  51. Урок 51. 00:02:44
    Placeholder Image - Error
  52. Урок 52. 00:13:34
    Create RecipesBinding class
  53. Урок 53. 00:01:41
    Introducing with DataStore Preferences
  54. Урок 54. 00:02:31
    About BottomSheet
  55. Урок 55. 00:15:37
    Design RecipesBottomSheet
  56. Урок 56. 00:03:09
    Navigate to RecipesBottomSheet
  57. Урок 57. 00:10:48
    Customize Chip Style
  58. Урок 58. 00:18:25
    Create and Inject DataStoreRepository class
  59. Урок 59. 00:05:18
    Modify and Inject RecipesViewModel
  60. Урок 60. 00:15:22
    RecipesBottomSheet - Persist Selected Chips
  61. Урок 61. 00:07:12
    Handle Return from BottomSheet - Safe Args
  62. Урок 62. 00:05:17
    Bottom Sheet - Recap
  63. Урок 63. 00:01:47
    Introducing with StateFlow
  64. Урок 64. 00:08:10
    Create NetworkListener class
  65. Урок 65. 00:07:47
    RecipesFragment - Listen for Internet Connection
  66. Урок 66. 00:10:00
    Back Online - Persist data with DataStore
  67. Урок 67. 00:06:16
    Design RecipesFragment Menu
  68. Урок 68. 00:02:46
    FoodRecipesApi - searchRecipes()
  69. Урок 69. 00:01:07
    RemoteDataSource - searchRecipes()
  70. Урок 70. 00:03:15
    MainViewModel - Handle Search Response
  71. Урок 71. 00:09:14
    RecipesFragment - searchApiData()
  72. Урок 72. 00:08:34
    Design activity_details Layout
  73. Урок 73. 00:09:08
    Send Result to DetailsActivity - Safe Args
  74. Урок 74. 00:09:45
    Create PagerAdapter class
  75. Урок 75. 00:17:42
    Design fragment_overview Layout
  76. Урок 76. 00:08:01
    OverviewFragment - Display Recipe Data
  77. Урок 77. 00:05:05
    Parse HTML Text - Jsoup
  78. Урок 78. 00:01:28
    Design fragment_ingredients Layout
  79. Урок 79. 00:10:41
    Design ingredients_row_layout
  80. Урок 80. 00:01:49
    Modify RecipesDiffUtil class
  81. Урок 81. 00:10:09
    Create IngredientsAdapter class
  82. Урок 82. 00:06:44
    IngredientsFragment - Display Ingredients Data
  83. Урок 83. 00:07:52
    Modify InstructionsFragment
  84. Урок 84. 00:01:43
    Modify OverviewFragment & recipes_row_layout
  85. Урок 85. 00:05:10
    Create FavoritesEntity class
  86. Урок 86. 00:03:30
    Modify RecipesTypeConverter class
  87. Урок 87. 00:03:07
    Modify RecipesDao interface
  88. Урок 88. 00:02:25
    Modify LocalDataSource class
  89. Урок 89. 00:02:52
    Modify MainViewModel class
  90. Урок 90. 00:01:52
    Modify RecipesDatabase class
  91. Урок 91. 00:03:31
    Create details_menu
  92. Урок 92. 00:08:35
    Save Recipe to Favorites
  93. Урок 93. 00:05:32
    Check if Recipe is Saved
  94. Урок 94. 00:08:26
    Remove Recipe from Favorites
  95. Урок 95. 00:03:39
    Design fragment_favorite_recipes Layout
  96. Урок 96. 00:04:18
    Design favorite_recipes_row_layout
  97. Урок 97. 00:08:15
    Create FavoriteRecipesAdapter class
  98. Урок 98. 00:06:47
    Display Favorite Recipes
  99. Урок 99. 00:12:11
    Create FavoriteRecipesBinding class
  100. Урок 100. 00:05:19
    FavoriteRecipesFragment - Single Click Listener
  101. Урок 101. 00:06:36
    FavoriteRecipesFragment - Long Click Listener
  102. Урок 102. 00:05:07
    Apply Contextual Action Mode Style
  103. Урок 103. 00:12:45
    Recipe Selection Style - onLongClick
  104. Урок 104. 00:05:49
    Apply Contextual Action Mode Title
  105. Урок 105. 00:06:19
    Delete Selected Favorite Recipes
  106. Урок 106. 00:02:51
    Close Contextual Action Mode
  107. Урок 107. 00:01:06
    FavoriteRecipesFragment - ParseHTML
  108. Урок 108. 00:06:52
    Recap - Contextual Action Mode
  109. Урок 109. 00:04:16
    Create favorite_recipes_menu
  110. Урок 110. 00:10:00
    Design fragment_food_joke
  111. Урок 111. 00:02:57
    Create FoodJoke model class
  112. Урок 112. 00:02:17
    Create FoodJoke GET Request
  113. Урок 113. 00:00:52
    Modify RemoteDataSource - FoodJoke
  114. Урок 114. 00:04:10
    Modify MainViewModel - FoodJoke
  115. Урок 115. 00:10:13
    Offline Cache - FoodJoke
  116. Урок 116. 00:10:49
    FoodJokeFragment - Let's Start
  117. Урок 117. 00:11:02
    FoodJokeBinding class - Part 1
  118. Урок 118. 00:08:24
    FoodJokeBinding class - Part 2
  119. Урок 119. 00:07:46
    Add Share Menu
  120. Урок 120. 00:03:12
    Recap - FoodJokeFragment
  121. Урок 121. 00:07:30
    Add Splash Screen
  122. Урок 122. 00:20:14
    RecipesFragment - Dark Theme
  123. Урок 123. 00:06:04
    FavoriteRecipesFragment - Dark Theme
  124. Урок 124. 00:05:36
    FoodJokeFragment - Dark Theme
  125. Урок 125. 00:07:08
    RecipesBottomSheet - Dark Theme
  126. Урок 126. 00:02:04
    Placeholder Row Layout - Dark Theme
  127. Урок 127. 00:03:31
    DetailsActivity - Dark Theme
  128. Урок 128. 00:03:41
    OverviewFragment - Dark Theme
  129. Урок 129. 00:03:31
    IngredientsFragment - Dark Theme
  130. Урок 130. 00:08:07
    Add Motion Layout - OverviewFragment
  131. Урок 131. 00:06:12
    Add App Icon
  132. Урок 132. 00:03:03
    Final Word
  133. Урок 133. 00:02:18
    DataStore 1.0.0-alpha04 - Package Issue Fixed
  134. Урок 134. 00:04:13
    Internet Connection Bug - Fixed
  135. Урок 135. 00:16:50
    Migrate from 'kotlin-android-extensions' plugin
  136. Урок 136. 00:04:13
    Migrate to ViewPager2
  137. Урок 137. 00:05:02
    Code Cleanup - RecipesBinding & RecipesRowBinding
  138. Урок 138. 00:04:55
    Fix a Memory Leak - RecipesBottomSheet
  139. Урок 139. 00:05:10
    FavoriteRecipesBinding - Code Cleanup
  140. Урок 140. 00:04:08
    Yellow Star Issue - Fixed
  141. Урок 141. 00:03:25
    Multi Selection Mode - Fixed
  142. Урок 142. 00:04:28
    RecyclerView - Item Selection State - Fixed
  143. Урок 143. 00:05:01
    Dependency Update - Dagger-Hilt and Data Store
  144. Урок 144. 00:02:12
    Dependency Update - DataStore-Alpha07
  145. Урок 145. 00:04:02
    OverviewFragment - Code Cleanup
  146. Урок 146. 00:07:33
    Jcenter Migration + Code Cleanup & Bug Fix
  147. Урок 147. 00:09:07
    RecipesBottomSheet bug fixed & Updated updateChip() fun
  148. Урок 148. 00:02:33
    Motion Layout & View Pager gestures conflict - Fixed
  149. Урок 149. 00:05:37
    NetworkListener's class function Updated
  150. Урок 150. 00:05:44
    Removing Deprecated Code