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