Содержание пакета (6 курсов)
1. Android-разработка с нуля + основы Java 5.0
1. Введение
1 урок
👁
4 878
👤
4 878
Открытый
1.1
Что из себя представляет Android-разработка?
↗
4 878
4 878
17м
177
2. Изучаем язык Java
32 урока
👁
45 659
👤
45 659
Открытый
2.1
Установка среды разработки
↗
3 069
3 069
3м
93
Открытый
2.2
Первая программа Hello World
↗
2 843
2 843
11м
135
Открытый
2.3
Переменные
↗
2 553
2 553
14м
117
Открытый
2.4
Условные операторы
↗
2 576
2 576
11м
99
Закрытый
2.5
Типы данных. Целые числа.
↗
1 502
1 502
18м
120
Закрытый
2.6
Float and Double
↗
1 460
1 460
9м
89
Закрытый
2.7
Char
↗
1 426
1 426
7м
85
Закрытый
2.8
Boolean
↗
1 403
1 403
13м
98
Закрытый
2.9
String
↗
1 386
1 386
7м
91
Закрытый
2.10
Циклы
↗
1 375
1 375
17м
107
Закрытый
2.11
Массивы
↗
1 354
1 354
17м
103
Закрытый
2.12
Цикл for each
↗
1 333
1 333
9м
87
Закрытый
2.13
Switch Case
↗
1 311
1 311
10м
88
Закрытый
2.14
Введение в ООП
↗
1 374
1 374
18м
122
Закрытый
2.15
Введение в методы
↗
1 307
1 307
17м
113
Закрытый
2.16
Параметризированные методы
↗
1 288
1 288
11м
93
Закрытый
2.17
Конструкторы
↗
1 270
1 270
9м
90
Закрытый
2.18
Перегрузка методов и конструкторов
↗
1 252
1 252
22м
120
Закрытый
2.19
Ссылочные типы в методах и конструкторах
↗
1 238
1 238
17м
90
Закрытый
2.20
Модификаторы доступа
↗
1 202
1 202
21м
92
Закрытый
2.21
Ключевые слова static и final и аргументы переменной длины
↗
1 192
1 192
17м
103
Закрытый
2.22
Создаем собственную коллекцию
↗
1 176
1 176
26м
101
Закрытый
2.23
Оболочки типов
↗
1 134
1 134
11м
86
Закрытый
2.24
Встроенные коллекции
↗
1 113
1 113
16м
80
Закрытый
2.25
Наследование. Конструкторы и модификатор protected
↗
1 082
1 082
13м
88
Закрытый
2.26
Наследование часть 2. Переопределение методов
↗
1 060
1 060
13м
77
Закрытый
2.27
Наследование часть 3. Абстрактные классы и методы
↗
1 043
1 043
15м
95
Закрытый
2.28
Интерфейсы часть 1. Upcast, downcast, полиморфизм
↗
1 077
1 077
24м
85
Закрытый
2.29
Интерфейсы часть 2. Анонимные классы.
↗
1 035
1 035
9м
80
Закрытый
2.30
Обработка исключений.
↗
1 038
1 038
13м
66
Закрытый
2.31
String.format(), toString и Random
↗
1 037
1 037
13м
71
Закрытый
2.32
Многопоточное программирование
↗
1 150
1 150
22м
109
3. Введение в Android разработку
3 урока
👁
4 320
👤
4 320
Закрытый
3.1
Установка Android Studio
↗
1 437
1 437
3м
71
Закрытый
3.2
Первое приложение Hello World
↗
1 480
1 480
15м
99
Закрытый
3.3
Работа со строками
↗
1 403
1 403
13м
126
4. Разработка простых приложений и работа с Activity
4 урока
👁
5 415
👤
4 965
Закрытый
4.1
Приложение Calculator. Создаем макет
↗
1 459
1 459
37м
149
Закрытый
4.2
Приложение Calculator. Добавляем логику
↗
1 359
1 115
19м
149
Закрытый
4.3
Приложение Messenger. Создаем макет
↗
1 318
1 318
12м
101
Закрытый
4.4
Приложение Messenger. Добавляем логику
↗
1 279
1 073
15м
131
5. Жизненный цикл приложения
4 урока
👁
4 864
👤
4 671
Закрытый
5.1
Создание приложения GameScore
↗
1 300
1 300
16м
130
Закрытый
5.2
Методы ЖЦ onCreate и onDestroy
↗
1 210
1 210
11м
125
Закрытый
5.3
Методы ЖЦ onStart и onStop
↗
1 192
1 192
19м
116
Закрытый
5.4
Методы ЖЦ onPause, onResume, onRestart
↗
1 162
969
9м
119
6. Пользовательский интерфейс
7 уроков
👁
7 947
👤
7 740
Закрытый
6.1
Обзор приложения Cafe
↗
1 241
1 241
3м
100
Закрытый
6.2
Дизайн первого экрана
↗
1 195
1 195
18м
114
Закрытый
6.3
Дизайн второго экрана
↗
1 138
1 138
26м
99
Закрытый
6.4
Дизайн третьего экрана
↗
1 111
1 111
10м
95
Закрытый
6.5
Логика первого экрана
↗
1 114
1 114
15м
117
Закрытый
6.6
Логика второго экрана
↗
1 082
1 082
27м
102
Закрытый
6.7
Логика третьего экрана
↗
1 066
859
5м
118
7. Работа со списками и базами данных
17 уроков
👁
16 684
👤
16 684
Закрытый
7.1
Обзор приложения Todo List
↗
1 165
1 165
2м
87
Закрытый
7.2
Todo List. Создание первого экрана
↗
1 095
1 095
24м
126
Закрытый
7.3
Todo List. AddNoteActivity
↗
1 043
1 043
14м
100
Закрытый
7.4
Singleton
↗
1 057
1 057
16м
101
Закрытый
7.5
Удаление элементов
↗
1 005
1 005
4м
78
Закрытый
7.6
RecyclerView Adapter
↗
1 014
1 014
19м
118
Закрытый
7.7
Установка адаптера в RecyclerView
↗
981
981
6м
74
Закрытый
7.8
Добавление слушателей в адаптер
↗
961
961
8м
89
Закрытый
7.9
Удаление элементов свайпом
↗
953
953
8м
85
Закрытый
7.10
Room database
↗
973
973
19м
101
Закрытый
7.11
NotesDao
↗
944
944
11м
98
Закрытый
7.12
Использование БД в MainActivity
↗
934
934
9м
92
Закрытый
7.13
Autogenerate и Ignore
↗
907
907
6м
84
Закрытый
7.14
Handler
↗
909
909
10м
87
Закрытый
7.15
LiveData
↗
912
912
8м
92
Закрытый
7.16
MVVM ViewModel
↗
929
929
10м
108
Закрытый
7.17
MutableLiveData и ViewModelProvider
↗
902
902
21м
116
8. RxJava
6 уроков
👁
4 912
👤
4 770
Закрытый
8.1
Проблемы класса Thread
↗
909
909
5м
89
Закрытый
8.2
Введение в RxJava
↗
867
867
13м
91
Закрытый
8.3
Disposable
↗
814
814
9м
76
Закрытый
8.4
Single
↗
793
793
10м
72
Закрытый
8.5
Создание Single и Completable
↗
771
771
10м
76
Закрытый
8.6
Exception Handling
↗
758
616
11м
81
9. Работа с интернетом
8 уроков
👁
6 338
👤
6 122
Закрытый
9.1
JSON
↗
872
872
12м
89
Закрытый
9.2
Загрузка данных
↗
816
816
15м
78
Закрытый
9.3
StringBuilder
↗
787
787
6м
66
Закрытый
9.4
Работа с JSON Object
↗
778
778
4м
71
Закрытый
9.5
Refactoring
↗
768
768
12м
73
Закрытый
9.6
Glide
↗
773
773
9м
61
Закрытый
9.7
Операторы doOn
↗
751
751
10м
66
Закрытый
9.8
Retrofit
↗
793
577
17м
92
10. Практическая работа. Создание приложения Movies
21 урок
👁
13 843
👤
13 687
Закрытый
10.1
Обзор приложения Movies
↗
910
910
2м
77
Закрытый
10.2
Зависимости и обзор API
↗
776
776
9м
72
Закрытый
10.3
Создание POJO
↗
767
767
25м
83
Закрытый
10.4
Загружаем данные
↗
711
711
8м
61
Закрытый
10.5
Query Params
↗
685
685
10м
74
Закрытый
10.6
Layouts
↗
675
675
7м
54
Закрытый
10.7
Movies Adapter
↗
667
667
11м
57
Закрытый
10.8
Circle Background
↗
646
646
12м
58
Закрытый
10.9
Подгрузка данных. Часть 1
↗
660
660
13м
72
Закрытый
10.10
Подгрузка данных. Часть 2
↗
631
631
11м
66
Закрытый
10.11
MovieDetailActivity. Интерфейс Serializable
↗
629
629
16м
64
Закрытый
10.12
Загрузка трейлеров
↗
624
624
9м
60
Закрытый
10.13
Оператор RxJava - map
↗
615
615
8м
55
Закрытый
10.14
Отображение трейлеров
↗
609
609
12м
57
Закрытый
10.15
Неявный интент
↗
616
616
7м
59
Закрытый
10.16
Загрузка отзывов
↗
601
601
9м
56
Закрытый
10.17
Отображение отзывов
↗
593
593
14м
55
Закрытый
10.18
Создание Базы данных
↗
625
625
11м
61
Закрытый
10.19
Сохранение и удаление объектов
↗
591
591
12м
59
Закрытый
10.20
Создание экрана Избранное
↗
583
583
8м
47
Закрытый
10.21
Добавление меню
↗
629
473
10м
73
11. Firebase
18 уроков
👁
10 334
👤
10 170
Закрытый
11.1
Обзор приложения Messenger
↗
823
823
3м
63
Закрытый
11.2
Добавляем Firebase
↗
684
684
13м
69
Закрытый
11.3
Изучаем работу с авторизацией
↗
628
628
20м
58
Закрытый
11.4
Дизайн LoginActivity
↗
593
593
13м
56
Закрытый
11.5
RegistrationActivity
↗
566
566
10м
50
Закрытый
11.6
ResetPasswordActivity
↗
555
555
6м
50
Закрытый
11.7
LoginViewModel
↗
561
561
12м
52
Закрытый
11.8
Добавление логики разлогина
↗
553
553
6м
47
Закрытый
11.9
Завершение работы с авторизацией
↗
548
548
12м
52
Закрытый
11.10
Дизайн UsersActivity
↗
543
543
17м
49
Закрытый
11.11
Firebase Database
↗
562
562
17м
59
Закрытый
11.12
Сохранение пользователей в базу данных
↗
539
539
13м
49
Закрытый
11.13
Дизайн ChatActivity
↗
532
532
14м
47
Закрытый
11.14
Messages Adapter
↗
506
506
17м
50
Закрытый
11.15
ChatViewModel
↗
505
505
12м
49
Закрытый
11.16
ViewModelFactory
↗
511
511
10м
52
Закрытый
11.17
Обновление статуса пользователя
↗
523
523
6м
44
Закрытый
11.18
Завершение работы над приложением Messenger
↗
602
438
9м
60
12. Финал
3 урока
👁
2 299
👤
1 904
Закрытый
12.1
Тест для получения сертификата. Часть 1
↗
803
557
12м
44
Закрытый
12.2
Тест для получения сертификата. Часть 2
↗
645
496
5м
30
Закрытый
12.3
Завершение курса. Что делать дальше?
↗
851
851
2м
85
13. Дополнительные материалы
1 урок
👁
778
👤
655
Закрытый
13.1
Shared Preferences
↗
778
655
50м
49
2. Android: профессиональный уровень + подготовка к собеседованию 4.986
1. Введение
1 урок
👁
2 605
👤
2 605
Открытый
1.1
Введение
↗
2 605
2 605
2м
124
2. Подготовка к работе
4 урока
👁
8 009
👤
5 740
Открытый
2.1
Введение в GIT
↗
2 150
2 150
5м
111
Открытый
2.2
Установка GIT и работа по GIT Flow
↗
2 128
1 268
23м
140
Открытый
2.3
Работа над незнакомым проектом
↗
1 911
1 193
21м
112
Открытый
2.4
Работа с debugger-ом
↗
1 820
1 129
30м
98
3. Введение в Clean Architecture
7 уроков
👁
8 555
👤
7 892
Закрытый
3.1
Обзор приложения Shopping List
↗
1 355
1 355
3м
90
Закрытый
3.2
Краткий обзор Clean Architecture
↗
1 289
1 289
6м
86
Закрытый
3.3
Domain-слой. Часть 1
↗
1 259
1 120
13м
106
Закрытый
3.4
Domain-слой. Часть 2
↗
1 196
1 085
5м
90
Закрытый
3.5
Data-слой
↗
1 186
1 059
13м
99
Закрытый
3.6
Presentation-слой. Часть 1. ViewModel
↗
1 161
1 015
16м
96
Закрытый
3.7
Presentation-слой. Часть 2. Автообновление списка
↗
1 109
969
10м
88
4. RecyclerView
10 уроков
👁
10 203
👤
9 096
Закрытый
4.1
Макеты для Shopping List
↗
1 159
1 006
5м
79
Закрытый
4.2
Реализация списков через LinearLayout
↗
1 080
943
15м
87
Закрытый
4.3
Зачем нужен ViewHolder
↗
1 059
929
13м
120
Закрытый
4.4
Баги при использовании RecyclerView
↗
1 026
899
18м
112
Закрытый
4.5
ViewType и RecycledViewPool
↗
1 011
887
22м
110
Закрытый
4.6
Добавление слушателей
↗
985
875
16м
85
Закрытый
4.7
Проблемы при использовании notifyDatasetChanged
↗
961
877
6м
74
Закрытый
4.8
Реализация через DiffUtil и простой адаптер
↗
968
851
14м
88
Закрытый
4.9
Реализация через ListAdapter
↗
964
839
11м
91
Закрытый
4.10
Собеседование по RecyclerView
↗
990
990
5м
135
5. Работа над вторым экраном приложения
5 уроков
👁
4 588
👤
3 981
Закрытый
5.1
Макеты для ShopItemActivity
↗
965
816
11м
81
Закрытый
5.2
Создание ShopItemViewModel
↗
919
812
14м
76
Закрытый
5.3
Завершение работы над ShopItemViewModel
↗
902
790
17м
85
Закрытый
5.4
Фабричные методы newIntent
↗
908
792
14м
87
Закрытый
5.5
Завершение работы над ShopItemActivity
↗
894
771
22м
84
6. Фрагменты
9 уроков
👁
8 267
👤
7 501
Закрытый
6.1
Зачем нужны фрагменты
↗
1 028
1 028
3м
93
Закрытый
6.2
Установка фрагмента на экране ShopItemActivity
↗
981
857
8м
78
Закрытый
6.3
Параметры во фрагменте и LifecycleOwner
↗
941
825
14м
93
Закрытый
6.4
Методы require и get, работа с FragmentManager
↗
913
792
12м
78
Закрытый
6.5
Правильная передача параметров во фрагмент
↗
902
763
15м
84
Закрытый
6.6
Работа с бэкстэком, методы add и replace
↗
879
745
27м
81
Закрытый
6.7
Взаимодействие Activity с фрагментом
↗
878
746
15м
86
Закрытый
6.8
Жизненный цикл фрагментов
↗
871
871
5м
76
Закрытый
6.9
Собеседование по теме Fragments
↗
874
874
6м
100
7. Android Jetpack
19 уроков
👁
15 507
👤
13 317
Закрытый
7.1
Обзор приложения Состав Числа
↗
1 016
1 016
2м
76
Закрытый
7.2
Проектирование Domain-слоя
↗
912
912
4м
79
Закрытый
7.3
Реализация Domain-слоя
↗
880
757
16м
106
Закрытый
7.4
Реализация Data-слоя
↗
849
726
13м
75
Закрытый
7.5
Ресурсы для приложения
↗
834
752
6м
70
Закрытый
7.6
View Binding
↗
870
732
12м
80
Закрытый
7.7
Навигация через FragmentManager
↗
843
713
24м
73
Закрытый
7.8
Parcelable vs Serializable
↗
844
710
9м
75
Закрытый
7.9
Реализация GameViewModel
↗
807
686
27м
73
Закрытый
7.10
Реализация GameFragment
↗
765
674
19м
64
Закрытый
7.11
ViewModelFactory
↗
802
675
11м
70
Закрытый
7.12
Jetpack Navigation. Часть 1. Создание графа
↗
839
712
5м
61
Закрытый
7.13
Jetpack Navigation. Часть 2. Реализация навигации
↗
800
657
9м
69
Закрытый
7.14
Jetpack Navigation. Часть 3. SafeArgs
↗
780
657
11м
72
Закрытый
7.15
Data Binding. Введение
↗
794
636
9м
66
Закрытый
7.16
Binding Adapters
↗
751
610
12м
60
Закрытый
7.17
Data Binding. Observe ViewModel
↗
732
578
17м
61
Закрытый
7.18
Data Binding внутри адаптера RecyclerView
↗
707
561
12м
54
Закрытый
7.19
Решение дз. Интеграция Data Binding в Shopping List
↗
682
553
15м
49
8. Введение в корутины
11 уроков
👁
9 647
👤
8 139
Закрытый
8.1
Асинхронное программирование с коллбэками
↗
986
849
11м
84
Закрытый
8.2
Handler и Looper
↗
910
752
14м
95
Закрытый
8.3
Проблемы при стандартном подходе к асинхронному программированию
↗
886
774
6м
75
Закрытый
8.4
Введение в Kotlin Coroutines. Suspend функции
↗
902
774
9м
82
Закрытый
8.5
Корутины "под капотом"
↗
892
775
13м
80
Закрытый
8.6
Создание базы данных для приложения Shopping List
↗
886
747
15м
84
Закрытый
8.7
Mappers
↗
849
717
7м
75
Закрытый
8.8
MediatorLiveData и Transformations.map
↗
829
683
7м
69
Закрытый
8.9
App Inspection и auto generate
↗
819
696
6м
70
Закрытый
8.10
Coroutine Scope и Dispatchers
↗
847
711
9м
73
Закрытый
8.11
ViewModelScope
↗
841
661
6м
77
9. Работа в фоне. Сервисы и WorkManager
14 уроков
👁
10 935
👤
9 511
Закрытый
9.1
Services. Создание первого сервиса
↗
901
765
12м
80
Закрытый
9.2
Перезапуск сервисов
↗
816
716
7м
65
Закрытый
9.3
Работа с уведомлениями. NotificationManager
↗
812
697
12м
72
Закрытый
9.4
Foreground Service
↗
807
701
9м
71
Закрытый
9.5
Остановка сервисов
↗
790
674
3м
64
Закрытый
9.6
Intent Service
↗
786
667
8м
66
Закрытый
9.7
JobService. Создание сервиса
↗
784
660
7м
71
Закрытый
9.8
JobScheduler. Запуск сервиса
↗
764
659
8м
70
Закрытый
9.9
JobScheduler. Метод enqueue
↗
749
626
18м
58
Закрытый
9.10
Комбинирование JobScheduler и IntentService
↗
725
608
6м
55
Закрытый
9.11
JobIntentService
↗
721
612
8м
58
Закрытый
9.12
WorkManager
↗
790
636
16м
78
Закрытый
9.13
Debug приложение с WorkManager-ом
↗
730
730
4м
62
Закрытый
9.14
Собеседование по теме сервисов
↗
760
760
6м
81
10. Практическая работа по пройденному материалу
9 уроков
👁
5 994
👤
4 798
Закрытый
10.1
Обзор приложения, над которым будем работать
↗
907
660
9м
66
Закрытый
10.2
Создаем Domain-слой
↗
696
582
9м
60
Закрытый
10.3
Работа с Data-слоем
↗
673
528
25м
55
Закрытый
10.4
Обновление зависимостей
↗
614
520
4м
43
Закрытый
10.5
Доработка data и domain слоев. Подключение к presentation
↗
621
511
10м
40
Закрытый
10.6
Работа с presentation-слоем. Переход на View Binding
↗
615
501
14м
42
Закрытый
10.7
Оптимизация адаптера RecyclerView. ListAdapter
↗
606
493
5м
46
Закрытый
10.8
Переход на фрагменты
↗
600
488
12м
44
Закрытый
10.9
Фоновая загрузка данных. WorkManager
↗
662
515
7м
51
11. Dependency Injection. Dagger2
20 уроков
👁
17 392
👤
12 743
Открытый
11.1
Что такое инъекция зависимостей. Инъекция в конструктор
↗
2 757
1 177
8м
91
Открытый
11.2
Инъекция в поля класса
↗
1 336
833
7м
87
Открытый
11.3
Dagger. Аннотации Component и Inject
↗
1 388
823
18м
83
Закрытый
11.4
Module и Provides
↗
796
676
12м
80
Закрытый
11.5
Обзор архитектуры второго примера
↗
776
681
6м
68
Закрытый
11.6
Binds. Связываем интерфейс и реализацию
↗
773
669
16м
86
Закрытый
11.7
Component Builder. Передача параметров в модуль
↗
753
650
11м
64
Закрытый
11.8
Custom Builder, BindsInstance
↗
744
640
11м
79
Закрытый
11.9
Factory, Singleton
↗
742
622
19м
78
Закрытый
11.10
Custom Scopes
↗
725
618
6м
67
Закрытый
11.11
Inject ViewModel
↗
730
603
14м
75
Закрытый
11.12
Provider
↗
701
590
6м
64
Закрытый
11.13
ViewModelKey
↗
699
590
8м
81
Закрытый
11.14
Subcomponents
↗
691
572
12м
64
Закрытый
11.15
Qualifiers
↗
673
539
9м
79
Закрытый
11.16
Dependency Injection в приложении с криптовалютами
↗
680
544
18м
50
Закрытый
11.17
Передача параметров в конструктор Worker
↗
621
486
10м
47
Закрытый
11.18
Dependency Injection into WorkerFactory (Single Worker)
↗
590
475
5м
41
Закрытый
11.19
Dependency Injection. Multiple Workers
↗
584
461
17м
49
Закрытый
11.20
Dependency Injection. Shopping List
↗
633
494
16м
61
12. Broadcast Receivers
5 уроков
👁
3 458
👤
2 741
Закрытый
12.1
Создание и регистрация ресиверов
↗
753
594
9м
75
Закрытый
12.2
Обработка нескольких сообщений, регистрация в манифесте
↗
696
570
9м
64
Закрытый
12.3
Создание кастомного ресивера
↗
682
543
7м
56
Закрытый
12.4
Передача параметров в броадкаст-сообщениях
↗
671
523
10м
58
Закрытый
12.5
LocalBroadcastManager
↗
656
511
8м
62
13. Content Providers
9 уроков
👁
5 229
👤
4 226
Закрытый
13.1
Создание провайдера
↗
725
531
12м
66
Закрытый
13.2
UriMatcher
↗
617
482
12м
61
Закрытый
13.3
Загрузка данных из бд. Cursor
↗
601
462
20м
62
Закрытый
13.4
Вставка данных. Класс ContentValues
↗
549
444
12м
44
Закрытый
13.5
Удаление данных. Selection и Selection Args
↗
531
435
11м
40
Закрытый
13.6
Получение данных в другом приложении
↗
541
432
4м
47
Закрытый
13.7
Получение списка контактов. Проверка разрешений
↗
552
442
10м
46
Закрытый
13.8
Получение разрешения от пользователя
↗
548
433
11м
47
Закрытый
13.9
Краткое повторение пройденного материала
↗
565
565
6м
54
14. Корутины. Углубленное изучение
11 уроков
👁
7 672
👤
6 141
Закрытый
14.1
Job and Coroutine Builders
↗
778
623
11м
67
Закрытый
14.2
Async and Deferred
↗
715
580
9м
73
Закрытый
14.3
Создание приложения Factorial
↗
716
600
12м
66
Закрытый
14.4
Stateful ViewModel
↗
704
562
9м
75
Закрытый
14.5
Sealed Classes
↗
697
551
12м
79
Закрытый
14.6
WithContext and SuspendCoroutine
↗
701
559
15м
70
Закрытый
14.7
CoroutineScope and CoroutineContext
↗
694
545
9м
63
Закрытый
14.8
Structured Concurrency
↗
673
534
13м
72
Закрытый
14.9
Exception Handling
↗
667
540
7м
65
Закрытый
14.10
Async vs Launch
↗
664
519
10м
67
Закрытый
14.11
Cancelling Coroutines
↗
663
528
9м
65
15. Coroutine Flow
16 уроков
👁
12 813
👤
10 291
Закрытый
15.1
Введение в Coroutine Flow
↗
975
765
14м
121
Закрытый
15.2
Flow Builders
↗
886
752
20м
81
Закрытый
15.3
Flow builder and terminal operators
↗
867
703
10м
81
Закрытый
15.4
Операторы жизненного цикла Flow
↗
848
731
11м
79
Закрытый
15.5
Map Flow to LiveData
↗
827
678
9м
83
Закрытый
15.6
AsLiveData часть 2. OnCompletion
↗
802
653
16м
72
Закрытый
15.7
Использование Flow на Ui-слое
↗
807
665
15м
80
Закрытый
15.8
Холодные Flow
↗
811
657
10м
81
Закрытый
15.9
Горячие Flow. MutableSharedFlow
↗
804
639
12м
84
Закрытый
15.10
Практика MutableSharedFlow
↗
773
614
16м
61
Закрытый
15.11
Промежуточные и кастомные операторы
↗
746
594
13м
73
Закрытый
15.12
StateFlow
↗
774
606
18м
63
Закрытый
15.13
Backpressure и buffer
↗
728
581
12м
79
Закрытый
15.14
Буфер в горячих flow
↗
718
567
16м
70
Закрытый
15.15
Операторы ShareIn и StateIn
↗
726
550
21м
73
Закрытый
15.16
Exception Handling
↗
721
536
14м
79
16. SOLID
4 урока
👁
2 596
👤
2 596
Закрытый
16.1
Dependency Inversion
↗
706
706
4м
54
Закрытый
16.2
Interface Segregation
↗
636
636
4м
47
Закрытый
16.3
Liskov Substitution
↗
638
638
10м
58
Закрытый
16.4
Open-Closed Principle
↗
616
616
10м
66
17. Закрываем пробелы
4 урока
👁
2 354
👤
1 837
Закрытый
17.1
Дополнение по сервисам
↗
615
615
0м
24
Закрытый
17.2
Прогресс внутри уведомления
↗
596
421
8м
44
Закрытый
17.3
Bound Services
↗
572
409
15м
52
Закрытый
17.4
Alarm Manager
↗
571
392
15м
44
18. Финал
3 урока
👁
2 410
👤
1 751
Закрытый
18.1
Собеседование на должность Junior Android Developer
↗
886
512
32м
74
Закрытый
18.2
Тест для получения сертификата
↗
628
343
16м
30
Закрытый
18.3
Что делать дальше?
↗
896
896
1м
76
3. Java: полный курс с нуля + подготовка к собеседованию 4.981
1. Введение
3 урока
👁
24 559
👤
24 559
Открытый
1.1
Введение
↗
7 325
7 325
2м
164
Открытый
1.2
Установка среды разработки
↗
6 869
6 869
3м
136
Открытый
1.3
Первая программа Hello World
↗
10 365
10 365
11м
227
2. Синтаксис Java
11 уроков
👁
34 622
👤
34 622
Закрытый
2.1
Переменные
↗
3 694
3 694
14м
245
Закрытый
2.2
Условный оператор
↗
3 502
3 502
11м
177
Закрытый
2.3
Типы данных. Целые числа
↗
3 345
3 345
18м
193
Закрытый
2.4
Типы данных. Float, Double
↗
3 185
3 185
9м
162
Закрытый
2.5
Типы данных. Char
↗
3 125
3 125
7м
149
Закрытый
2.6
Типы данных. Boolean
↗
3 043
3 043
13м
150
Закрытый
2.7
Типы данных. String
↗
3 029
3 029
7м
143
Закрытый
2.8
Циклы
↗
3 019
3 019
17м
170
Закрытый
2.9
Массивы
↗
2 978
2 978
17м
167
Закрытый
2.10
Цикл For each
↗
2 881
2 881
9м
165
Закрытый
2.11
Switch-case
↗
2 821
2 821
10м
147
3. Объектно-ориентированное программирование
16 уроков
👁
36 403
👤
36 403
Закрытый
3.1
Введение в ООП
↗
2 921
2 921
18м
196
Закрытый
3.2
Введение в методы
↗
2 721
2 721
17м
164
Закрытый
3.3
Параметризированные методы
↗
2 601
2 601
11м
137
Закрытый
3.4
Конструкторы
↗
2 547
2 547
9м
134
Закрытый
3.5
Перегрузка методов и конструкторов
↗
2 491
2 491
22м
183
Закрытый
3.6
Объекты в качестве параметров и возврат объектов
↗
2 415
2 415
17м
147
Закрытый
3.7
Модификаторы доступа
↗
2 315
2 315
21м
153
Закрытый
3.8
Ключевые слова static и final и аргументы переменной длины
↗
2 258
2 258
17м
195
Закрытый
3.9
Создаем собственную коллекцию
↗
2 206
2 206
26м
172
Закрытый
3.10
Оболочки типов
↗
2 107
2 107
11м
142
Закрытый
3.11
Встроенные коллекции
↗
2 050
2 050
16м
131
Закрытый
3.12
Наследование часть 1. Введение + модификатор protected
↗
2 021
2 021
13м
137
Закрытый
3.13
Наследование часть 2. Переопределение методов
↗
1 959
1 959
13м
123
Закрытый
3.14
Наследование часть 3. Абстрактные классы и методы
↗
1 947
1 947
15м
145
Закрытый
3.15
Интерфейсы часть 1. Upcast, downcast, полиморфизм
↗
1 946
1 946
24м
140
Закрытый
3.16
Интерфейсы часть 2. Анонимные классы.
↗
1 898
1 898
9м
131
4. Java продвинутый уровень
3 урока
👁
5 619
👤
5 619
Закрытый
4.1
Обработка исключений
↗
1 931
1 931
13м
114
Закрытый
4.2
Методы String.format(), toString() и случайные числа.
↗
1 833
1 833
13м
113
Закрытый
4.3
Многопоточное программирование
↗
1 855
1 855
22м
175
5. Java Уровень 2
2 урока
👁
3 539
👤
2 943
Закрытый
5.1
JUnit-тестирование. Часть 1
↗
1 887
1 556
14м
145
Закрытый
5.2
JUnit часть 2
↗
1 652
1 387
12м
118
6. Collections Framework
16 уроков
👁
20 649
👤
18 116
Закрытый
6.1
ArrayList
↗
1 724
1 428
26м
133
Закрытый
6.2
ArrayList. Часть 2
↗
1 510
1 321
18м
119
Закрытый
6.3
LinkedList
↗
1 468
1 240
30м
145
Закрытый
6.4
Собеседование по коллекциям List
↗
1 436
1 436
5м
120
Закрытый
6.5
Устройство памяти в Java
↗
1 399
1 253
8м
104
Закрытый
6.6
Equals и hashcode
↗
1 371
1 209
11м
104
Закрытый
6.7
HashSet
↗
1 363
1 144
35м
109
Закрытый
6.8
Collection
↗
1 249
1 054
19м
88
Закрытый
6.9
Iterable
↗
1 205
1 010
22м
84
Закрытый
6.10
Собеседование по пройденным коллекциям
↗
1 229
1 229
6м
95
Закрытый
6.11
TreeSet
↗
1 158
988
16м
94
Закрытый
6.12
HashMap
↗
1 203
961
38м
89
Закрытый
6.13
Собеседование по HashMap
↗
1 092
921
12м
86
Закрытый
6.14
Map и Set остальные коллекции
↗
1 068
917
8м
92
Закрытый
6.15
Queue
↗
1 070
901
9м
82
Закрытый
6.16
Собеседование по Collections Framework
↗
1 104
1 104
8м
94
7. Generics
5 уроков
👁
5 421
👤
4 515
Закрытый
7.1
Generics. Часть 1. Введение
↗
1 268
1 010
17м
95
Закрытый
7.2
Generics. Часть 2. Параметризируем коллекции
↗
1 099
930
23м
67
Закрытый
7.3
Generics. Часть 3. Extends и WildCard
↗
1 050
895
15м
80
Закрытый
7.4
Generics. Часть 4. Параметризированные методы, super
↗
1 010
862
12м
76
Закрытый
7.5
Generics. Часть 5. Собеседование и разбор дз
↗
994
818
9м
72
8. Многопоточность
14 уроков
👁
12 678
👤
11 058
Закрытый
8.1
Многопоточность Часть 1. Введение
↗
1 147
929
11м
103
Закрытый
8.2
Многопоточность Часть 2. Остановка потоков. Метод join
↗
1 037
873
28м
104
Закрытый
8.3
Многопоточность Часть 3. Потоки-демоны и состояние гонки
↗
987
858
13м
74
Закрытый
8.4
Многопоточность Часть 4. Синхронизация методов и мониторы
↗
965
821
22м
79
Закрытый
8.5
Многопоточность Часть 5. Атомарные типы данных и volatile
↗
932
782
8м
82
Закрытый
8.6
Многопоточность Часть 6. Собеседование
↗
914
914
5м
86
Закрытый
8.7
Многопоточность Часть 7. CountDownLatch и ExecutorService
↗
915
779
18м
83
Закрытый
8.8
М. Часть 8. ThreadFactory, интерфейс Callable и класс Future
↗
876
744
15м
89
Закрытый
8.9
М. Часть 9. Блокирующая очередь. Wait, notify и notifyAll
↗
868
720
20м
75
Закрытый
8.10
Многопоточность Часть 10. DeadLock или взаимная блокировка
↗
823
694
13м
66
Закрытый
8.11
Многопоточность Часть 11. Потокобезопасные коллекции
↗
811
685
8м
70
Закрытый
8.12
М. Часть 12. Semaphore, CyclicBarrier. Задача про гонку
↗
805
661
32м
75
Закрытый
8.13
Многопоточность Часть 13. Собеседование
↗
787
787
8м
75
Закрытый
8.14
Многопоточность Часть 13. Дополнения
↗
811
811
2м
52
9. Stream API
5 уроков
👁
4 359
👤
3 644
Закрытый
9.1
Stream API Часть 1. Лямбда-выражения и функциональные интерфейсы
↗
1 044
773
20м
79
Закрытый
9.2
Stream API Ч. 2. Введение в стримы. Методы filter, map и collect
↗
880
719
20м
79
Закрытый
9.3
Stream API Часть 3. Терминальные и промежуточные операторы
↗
834
695
15м
71
Закрытый
9.4
Ч4. Тип Optional, метод parallelStream, способы создания стримов
↗
806
662
16м
70
Закрытый
9.5
Stream API Часть 5. Собеседование
↗
795
795
5м
66
10. Потоки ввода/вывода
7 уроков
👁
5 480
👤
4 584
Закрытый
10.1
Input Output 1. Введение в потоки ввода/вывода. Класс File
↗
925
715
14м
68
Закрытый
10.2
IO 2. Чтение из файла, класс FileInputStream и try с ресурсами
↗
799
686
12м
63
Закрытый
10.3
Input Output 3. StringBuilder, StringBuffer, чтение в массив
↗
786
649
19м
73
Закрытый
10.4
IO 4. Чтение и запись с использованием буфера. Класс Scanner
↗
767
630
18м
59
Закрытый
10.5
Input Output 5. Классы Reader, Writer и RandomAccessFile
↗
742
593
12м
62
Закрытый
10.6
Input Output 6. Сериализация и десериализация
↗
736
586
25м
65
Закрытый
10.7
Input Output 7. Собеседование
↗
725
725
5м
65
11. Java Core
7 уроков
👁
7 449
👤
6 316
Закрытый
11.1
Java Core 1. Как работает Java
↗
1 112
1 112
5м
68
Закрытый
11.2
Java Core 2. Отличие интерфейсов и абстрактных классов
↗
927
927
7м
56
Закрытый
11.3
Java Core 3. Исключения и метод finalize
↗
865
865
11м
61
Закрытый
11.4
Java Core 4. Основные парадигмы ООП
↗
874
874
6м
60
Закрытый
11.5
Финальное собеседование
↗
1 124
1 124
17м
87
Закрытый
11.6
Тест для получения сертификата - Java уровень 1
↗
1 433
864
10м
62
Закрытый
11.7
Тест для получения сертификата - Java уровень 2
↗
1 114
550
21м
43
4. Jetpack Compose: полный курс 5.0
1. Введение
2 урока
👁
4 822
👤
4 822
Открытый
1.1
Для кого этот курс и что будем изучать?
↗
2 840
2 840
2м
82
Открытый
1.2
Что такое Jetpack Compose. Краткое введение
↗
1 982
1 982
5м
93
2. Основы Jetpack Compose
12 уроков
👁
14 073
👤
11 193
Открытый
2.1
Первое приложение на JC
↗
2 095
1 214
13м
106
Открытый
2.2
Preview и Column
↗
1 833
1 174
9м
96
Закрытый
2.3
Row, Box, Modifier
↗
1 098
962
20м
108
Закрытый
2.4
Instagram Profile Card. Создание шаблона
↗
1 083
938
15м
94
Закрытый
2.5
Card
↗
1 040
929
11м
81
Закрытый
2.6
Dark-Light Themes
↗
1 022
905
12м
85
Закрытый
2.7
Text
↗
996
878
14м
85
Закрытый
2.8
Image
↗
996
873
10м
77
Закрытый
2.9
Порядок modifier-ов
↗
1 004
845
12м
81
Закрытый
2.10
Завершение работы над InstagramProfileCard
↗
983
842
5м
69
Закрытый
2.11
VkNewsClient. Создаем шапку поста
↗
984
853
20м
76
Закрытый
2.12
VkNewsClient. Дорабатываем карточку поста
↗
939
780
13м
78
3. Material Components
4 урока
👁
3 765
👤
3 192
Закрытый
3.1
Введение в Material Components
↗
969
813
27м
91
Закрытый
3.2
Scaffold и BottomNavigation
↗
947
807
13м
82
Закрытый
3.3
State и рекомпозиция
↗
940
804
23м
80
Закрытый
3.4
FAB и SnackBar
↗
909
768
13м
79
4. State и работа с ViewModel
9 уроков
👁
7 412
👤
6 224
Закрытый
4.1
Рекомпозиция
↗
926
802
5м
71
Закрытый
4.2
Добавление VIewModel в InstagramProfileCard
↗
899
770
21м
82
Закрытый
4.3
Делегаты
↗
861
727
13м
86
Закрытый
4.4
Слушатели клика
↗
842
708
31м
75
Закрытый
4.5
Добавление ViewModel в VkNewsClient
↗
800
676
11м
73
Закрытый
4.6
LazyColumn
↗
802
655
16м
71
Закрытый
4.7
LazyRow, LazyVerticalGrid
↗
777
640
16м
67
Закрытый
4.8
Swipe to dismiss
↗
773
628
21м
73
Закрытый
4.9
Добавляем LazyColumn в VkClient
↗
732
618
20м
65
5. Навигация в Jetpack Compose
14 уроков
👁
9 273
👤
7 656
Закрытый
5.1
Навигация без использования библиотек
↗
805
653
12м
56
Закрытый
5.2
Jetpack Compose Navigation
↗
777
639
23м
65
Закрытый
5.3
Исправляем баги в навигации
↗
721
585
15м
73
Закрытый
5.4
Рефакторинг навигации. RememberNavigationState
↗
701
597
8м
56
Закрытый
5.5
Создание экрана комментариев. Часть 1
↗
681
578
18м
51
Закрытый
5.6
UDF и создание стейта
↗
681
548
17м
57
Закрытый
5.7
Навигация на экран комментариев
↗
648
536
12м
51
Закрытый
5.8
Рефакторинг VIewModels
↗
636
535
19м
60
Закрытый
5.9
Передача параметров во вью-модель. ViewModelFactory
↗
635
513
12м
48
Закрытый
5.10
Nested Graph Navigation
↗
620
521
9м
56
Закрытый
5.11
Fix navigation bugs
↗
609
500
12м
51
Закрытый
5.12
Передача параметров в JetpackNavigation. Часть 1. Передача Id
↗
601
494
14м
45
Закрытый
5.13
Передача параметров. Часть 2. Navigation Types
↗
574
482
13м
48
Закрытый
5.14
Передача параметров. Часть 3. Parcelable, Json, Custom Nav Type
↗
584
475
17м
51
6. ActivityResultApi
3 урока
👁
2 221
👤
1 416
Открытый
6.1
Deprecated onActivityResult
↗
863
507
15м
43
Открытый
6.2
ActivityResultApi
↗
793
459
18м
43
Закрытый
6.3
ActivityResultApi в Jetpack Compose
↗
565
450
9м
49
7. Работа с VK API
10 уроков
👁
5 237
👤
4 012
Закрытый
7.1
Авторизация через VK SDK
↗
626
476
14м
42
Закрытый
7.2
SideEffect и LaunchedEffect
↗
600
460
18м
45
Закрытый
7.3
Login Screen
↗
572
434
17м
38
Закрытый
7.4
Refactoring и хранение токена
↗
532
424
14м
38
Закрытый
7.5
Загружаем данные
↗
540
413
46м
44
Закрытый
7.6
Дорабатываем UI
↗
496
386
14м
34
Закрытый
7.7
Реализация добавления/удаления лайков
↗
468
372
27м
34
Закрытый
7.8
Подгрузка данных во время скролла
↗
485
362
17м
27
Закрытый
7.9
Добавление состояния загрузки и реализация удаления элементов
↗
450
339
13м
28
Закрытый
7.10
Реализация экрана комментариев
↗
468
346
20м
28
8. Coroutine Flow
16 уроков
👁
12 813
👤
10 291
Закрытый
8.1
Введение в Coroutine Flow
↗
975
765
14м
121
Закрытый
8.2
Flow Builders
↗
886
752
20м
81
Закрытый
8.3
Flow builder and terminal operators
↗
867
703
10м
81
Закрытый
8.4
Операторы жизненного цикла Flow
↗
848
731
11м
79
Закрытый
8.5
Map Flow to LiveData
↗
827
678
9м
83
Закрытый
8.6
AsLiveData часть 2. OnCompletion
↗
802
653
16м
72
Закрытый
8.7
Использование Flow на Ui-слое
↗
807
665
15м
80
Закрытый
8.8
Холодные Flow
↗
811
657
10м
81
Закрытый
8.9
Горячие Flow. MutableSharedFlow
↗
804
639
12м
84
Закрытый
8.10
Практика MutableSharedFlow
↗
773
614
16м
61
Закрытый
8.11
Промежуточные и кастомные операторы
↗
746
594
13м
73
Закрытый
8.12
StateFlow
↗
774
606
18м
63
Закрытый
8.13
Backpressure и buffer
↗
728
581
12м
79
Закрытый
8.14
Буфер в горячих flow
↗
718
567
16м
70
Закрытый
8.15
Операторы ShareIn и StateIn
↗
726
550
21м
73
Закрытый
8.16
Exception Handling
↗
721
536
14м
79
9. Практика Compose в приложении VK
10 уроков
👁
4 262
👤
2 936
Закрытый
9.1
Practice in VkNewsClient
↗
502
322
24м
24
Закрытый
9.2
Exception handling in VkNewsClient
↗
410
289
13м
30
Закрытый
9.3
Coroutine Flow in MainViewModel
↗
417
287
7м
23
Закрытый
9.4
Refactoring. Clean Architecture
↗
402
289
10м
22
Закрытый
9.5
Dependency Injection in NewsFeedClient
↗
422
298
24м
26
Закрытый
9.6
Dependency Injection VkNewsClient Part 2
↗
390
289
17м
36
Закрытый
9.7
Immutable and recomposition
↗
433
295
18м
29
Закрытый
9.8
Анимации часть 1. AnimateAsState
↗
443
306
17м
34
Закрытый
9.9
Анимации часть 2. Animation Spec
↗
405
285
15м
25
Закрытый
9.10
Анимации часть 3. Animated Content
↗
438
276
12м
29
10. Custom Views
16 уроков
👁
6 015
👤
4 082
Закрытый
10.1
Работа с Canvas
↗
500
308
16м
29
Закрытый
10.2
Draw Path
↗
413
291
16м
24
Закрытый
10.3
Detect Gestures
↗
407
288
19м
28
Закрытый
10.4
Обзор приложения Terminal
↗
421
286
5м
31
Закрытый
10.5
Реализация загрузки данных
↗
389
279
18м
16
Закрытый
10.6
Рисуем график
↗
378
264
14м
19
Закрытый
10.7
Масштабирование
↗
345
246
9м
15
Закрытый
10.8
Добавление скролла и рисование свечей
↗
338
247
10м
16
Закрытый
10.9
DerivedStateOf
↗
338
241
9м
18
Закрытый
10.10
Custom Saver
↗
323
240
15м
21
Закрытый
10.11
Remember terminal state
↗
324
246
13м
17
Открытый
10.12
Path Effect
↗
602
276
12м
18
Закрытый
10.13
Draw text
↗
314
224
11м
18
Закрытый
10.14
Refactoring and bug fix
↗
290
218
21м
18
Закрытый
10.15
Assist Chip. Time Frames
↗
299
213
21м
14
Закрытый
10.16
Time Delimiters
↗
334
215
19м
19
11. MVI. Decompose
38 уроков
👁
13 186
👤
10 370
Закрытый
11.1
Обзор приложения Weather App
↗
604
604
4м
49
Закрытый
11.2
Новый подход к Presentation слою
↗
517
405
10м
32
Закрытый
11.3
Decompose. Первые компоненты
↗
472
346
22м
34
Закрытый
11.4
Decompose. Component Context
↗
417
322
18м
29
Закрытый
11.5
Decompose. Введение в навигацию
↗
390
305
14м
34
Закрытый
11.6
Decompose. ChildStack и Value
↗
378
298
6м
30
Закрытый
11.7
Decompose. Подключение UI
↗
375
280
13м
39
Закрытый
11.8
Decompose. Interface Child
↗
355
280
6м
30
Закрытый
11.9
Decompose. Interface Root Component
↗
352
274
7м
31
Закрытый
11.10
MVI. Store Intent State Label
↗
401
278
21м
39
Закрытый
11.11
MVI. ContactListStore
↗
352
261
6м
32
Закрытый
11.12
MVI. StoreFactory
↗
346
256
14м
28
Закрытый
11.13
MVI. StoreFactory Executor
↗
331
255
11м
29
Закрытый
11.14
MVI. StoreFactory финальная реализация
↗
329
258
7м
25
Закрытый
11.15
MVI. Bootstrapper
↗
336
245
12м
29
Закрытый
11.16
MVI. Создание стора
↗
331
244
11м
27
Закрытый
11.17
MVI. LiveTemplates and Logging
↗
322
257
6м
24
Закрытый
11.18
Обзор Decompose и MVI
↗
346
346
4м
31
Закрытый
11.19
WeatherApp добавление зависимостей
↗
327
268
20м
31
Закрытый
11.20
Структура проекта
↗
314
242
7м
17
Закрытый
11.21
Domain слой
↗
312
249
12м
28
Закрытый
11.22
Работа с интернетом
↗
322
243
17м
23
Закрытый
11.23
Вынесение ключа в BuildConfig
↗
312
241
10м
20
Закрытый
11.24
Создание Базы данных
↗
313
237
9м
26
Закрытый
11.25
Реализация репозиториев
↗
300
233
16м
22
Закрытый
11.26
Инъекция зависимостей
↗
314
235
11м
26
Закрытый
11.27
FavouriteStore
↗
298
231
16м
18
Закрытый
11.28
DetailsStore
↗
282
217
10м
22
Закрытый
11.29
SearchStore
↗
276
217
12м
18
Закрытый
11.30
Реализация всех компонентов
↗
285
220
11м
19
Закрытый
11.31
Assisted Inject
↗
305
216
6м
21
Закрытый
11.32
Реализация RootComponent. Часть 1
↗
293
225
8м
20
Закрытый
11.33
Реализация RootComponent. Часть 2
↗
288
215
8м
17
Закрытый
11.34
FavouriteContent. Часть 1
↗
279
220
23м
22
Закрытый
11.35
FavouriteContent. Часть 2
↗
279
209
13м
20
Закрытый
11.36
Details Content
↗
290
214
28м
22
Закрытый
11.37
Search Content
↗
360
241
13м
21
Закрытый
11.38
Финал
↗
483
483
1м
46
5. Kotlin: полный курс с нуля до Prof + подготовка к собеседованию 4.932
1. Введение
2 урока
👁
4 963
👤
4 963
Открытый
1.1
Что такое программирование?
↗
2 328
2 328
4м
92
Открытый
1.2
Зачем нужны языки программирования?
↗
2 635
2 635
5м
84
2. Базовый синтаксис
18 уроков
👁
24 716
👤
19 715
Закрытый
2.1
Скачиваем среду разработки
↗
1 626
1 626
5м
82
Закрытый
2.2
Первая программа
↗
1 619
1 337
18м
102
Открытый
2.3
Чтение из консоли. Переменные
↗
2 532
1 303
23м
102
Закрытый
2.4
Спецсимволы и шаблоны
↗
1 483
1 199
22м
87
Закрытый
2.5
Целочисленный тип Int
↗
1 410
1 241
18м
90
Закрытый
2.6
Целочисленное деление
↗
1 371
1 091
33м
85
Закрытый
2.7
Условный оператор
↗
1 345
1 102
33м
86
Закрытый
2.8
Условный оператор. Часть 2. Комбинирование
↗
1 310
1 043
38м
77
Закрытый
2.9
Изменяемые переменные
↗
1 283
1 009
17м
72
Закрытый
2.10
Дробные числа
↗
1 235
1 019
25м
72
Закрытый
2.11
Введение в коллекции
↗
1 260
1 016
21м
71
Закрытый
2.12
Циклы Repeat и While
↗
1 239
993
29м
81
Закрытый
2.13
Цикл for и свойство size
↗
1 192
968
24м
66
Закрытый
2.14
Диапазоны Ranges
↗
1 183
985
14м
71
Закрытый
2.15
Целочисленные типы Long Short Byte
↗
1 152
960
18м
66
Закрытый
2.16
If and when are expressions
↗
1 169
945
35м
71
Закрытый
2.17
Символьный тип данных
↗
1 150
942
24м
80
Закрытый
2.18
Do while и split
↗
1 157
936
17м
79
3. Объектно-ориентированное программирование
24 урока
👁
24 041
👤
19 656
Закрытый
3.1
Введение в ООП
↗
1 208
1 208
7м
69
Закрытый
3.2
Создание класса и объекта
↗
1 188
964
23м
72
Закрытый
3.3
Введение в функции
↗
1 142
945
11м
70
Закрытый
3.4
Функции с параметрами
↗
1 127
907
26м
74
Закрытый
3.5
Ключевое слово this и именованные параметры
↗
1 122
884
37м
75
Закрытый
3.6
Введение в конструкторы
↗
1 117
883
22м
72
Закрытый
3.7
Перегрузка конструкторов
↗
1 099
854
36м
75
Закрытый
3.8
Первичный конструктор
↗
1 079
865
17м
72
Закрытый
3.9
Возвращаемый тип функций
↗
1 053
796
65м
73
Закрытый
3.10
Введение в наследование
↗
1 029
797
42м
82
Закрытый
3.11
Upcast, Downcast, Smartcast
↗
1 036
1 036
12м
89
Закрытый
3.12
Введение в полиморфизм
↗
1 010
777
28м
82
Закрытый
3.13
Практика создание бухгалтера. Метод super
↗
996
996
29м
81
Закрытый
3.14
Enum
↗
998
763
34м
86
Закрытый
3.15
Работа с файлами и мутабельными коллекциями
↗
984
690
63м
77
Закрытый
3.16
Ручная сериализация и десериализация
↗
949
681
32м
68
Закрытый
3.17
Удаление элементов из списка
↗
899
636
47м
65
Закрытый
3.18
Рефакторинг
↗
877
877
11м
50
Закрытый
3.19
Контрольная работа
↗
895
895
28м
67
Закрытый
3.20
Инкапсуляция и модификаторы доступа
↗
872
614
34м
64
Закрытый
3.21
Абстрактные классы
↗
848
601
39м
61
Закрытый
3.22
Интерфейсы
↗
838
583
49м
63
Закрытый
3.23
Класс Any и метод toString
↗
836
565
30м
57
Закрытый
3.24
Обзор ООП
↗
839
839
6м
102
4. Погружаемся в Kotlin
15 уроков
👁
11 421
👤
8 343
Закрытый
4.1
Геттеры и сеттеры. Часть 1
↗
874
874
22м
59
Закрытый
4.2
Геттеры и сеттеры. Часть 2
↗
818
558
56м
70
Закрытый
4.3
Single Responsibility Principle
↗
804
560
22м
67
Закрытый
4.4
Рефакторинг и StringBuilder
↗
766
559
28м
64
Закрытый
4.5
Singleton Object
↗
790
556
14м
57
Закрытый
4.6
Backing Field
↗
779
551
22м
63
Закрытый
4.7
Метод copy
↗
760
509
74м
66
Закрытый
4.8
Метод equals
↗
744
506
47м
57
Закрытый
4.9
Метод hashcode. Коллекции Set
↗
732
504
36м
56
Закрытый
4.10
Data Classes
↗
750
506
30м
66
Закрытый
4.11
Дополнение по методу copy
↗
711
711
6м
50
Закрытый
4.12
Nullable Types
↗
724
485
50м
61
Закрытый
4.13
Elvis и Unit
↗
725
496
14м
48
Закрытый
4.14
Try catch
↗
713
488
27м
55
Закрытый
4.15
Nothing
↗
731
480
28м
72
5. Функциональное программирование
15 уроков
👁
10 149
👤
6 785
Закрытый
5.1
Kotlin Serialization
↗
773
498
33м
63
Закрытый
5.2
Получение тестовых данных
↗
701
449
43м
57
Закрытый
5.3
Чистые функции
↗
710
710
8м
60
Закрытый
5.4
Анонимные классы
↗
706
463
41м
69
Закрытый
5.5
Лямбда выражения
↗
710
458
49м
83
Закрытый
5.6
Введение в Generics
↗
683
467
26м
60
Закрытый
5.7
Extension functions
↗
672
445
28м
64
Закрытый
5.8
Inline functions
↗
691
417
27м
66
Закрытый
5.9
Примеры функций высшего порядка
↗
658
427
28м
55
Закрытый
5.10
Функция Let
↗
656
432
21м
59
Закрытый
5.11
Функция Also
↗
644
415
33м
62
Закрытый
5.12
Коллекции Map
↗
650
415
45м
58
Закрытый
5.13
Map для улучшения производительности
↗
627
410
15м
47
Закрытый
5.14
Функции With и Apply
↗
641
395
39м
57
Закрытый
5.15
Функция Run и Method reference
↗
627
384
28м
78
6. Паттерны проектирования
14 уроков
👁
7 973
👤
6 305
Закрытый
6.1
Основы многопоточности
↗
662
396
31м
50
Закрытый
6.2
Singleton. Companion. Init.
↗
625
389
40м
51
Закрытый
6.3
Singleton. Способы реализации
↗
589
589
15м
40
Закрытый
6.4
Singleton. Синхронизация
↗
594
387
25м
58
Закрытый
6.5
Создание GUI
↗
632
632
17м
49
Закрытый
6.6
Observer. Введение
↗
589
353
47м
50
Закрытый
6.7
Observer. Зависимость от абстракций
↗
551
551
14м
41
Закрытый
6.8
Observer. Функциональный интерфейс
↗
534
534
10м
43
Закрытый
6.9
Observer. Интерфейс Observable
↗
541
541
15м
38
Закрытый
6.10
Observer. MutableObservable
↗
532
300
65м
47
Закрытый
6.11
Observer. Backing field и итоги
↗
510
510
7м
40
Закрытый
6.12
Command и BlockingQueue
↗
527
527
21м
40
Закрытый
6.13
Sealed Interface
↗
535
289
55м
39
Закрытый
6.14
Builder
↗
552
307
20м
58
7. Устройство коллекций
24 урока
👁
10 842
👤
10 689
Закрытый
7.1
Junit часть 1
↗
552
552
19м
35
Закрытый
7.2
Junit часть 2. Parameterized Test
↗
499
435
14м
39
Закрытый
7.3
Массивы
↗
501
501
22м
35
Закрытый
7.4
ArrayList. Часть 1
↗
492
492
14м
36
Закрытый
7.5
ArrayList. Часть 2
↗
455
455
16м
35
Закрытый
7.6
ArrayList. Часть 3. Константы и операторы
↗
439
439
14м
37
Закрытый
7.7
Алгоритмическая сложность
↗
457
457
13м
41
Закрытый
7.8
Тестирование исключений. System.arraycopy
↗
433
433
17м
30
Открытый
7.9
LinkedList. Принцип работы
↗
911
911
7м
35
Закрытый
7.10
LinkedList. Реализация
↗
443
443
29м
30
Закрытый
7.11
LinkedList. Двусвязный список
↗
425
425
22м
31
Закрытый
7.12
HashSet. Принцип работы
↗
435
435
9м
30
Закрытый
7.13
HashSet. Реализация. Часть 1
↗
425
425
26м
27
Закрытый
7.14
HashSet. Реализация. Часть 2
↗
409
409
16м
23
Закрытый
7.15
HashSet. Вопросы на собеседовании
↗
412
412
24м
28
Закрытый
7.16
Параметризируем коллекции
↗
401
401
10м
23
Закрытый
7.17
Collections и Iterable
↗
406
406
25м
24
Закрытый
7.18
MutableIterable
↗
386
386
10м
22
Закрытый
7.19
Реализации Set
↗
387
387
11м
25
Закрытый
7.20
Устройство TreeSet
↗
385
385
4м
23
Закрытый
7.21
Неизменяемые коллекции
↗
381
381
14м
23
Закрытый
7.22
Коллекции Map
↗
389
389
24м
27
Закрытый
7.23
Использование Map внутри Set
↗
382
382
14м
23
Закрытый
7.24
Собеседование по теме коллекции
↗
437
348
13м
41
8. Асинхронность и многопоточность
38 уроков
👁
15 197
👤
15 197
Закрытый
8.1
Создание GUI
↗
566
566
10м
38
Закрытый
8.2
Добавление логики и метод String.format
↗
466
466
15м
28
Закрытый
8.3
Механизм callback
↗
474
474
11м
35
Закрытый
8.4
Suspend функции
↗
480
480
14м
43
Закрытый
8.5
Корутины под капотом
↗
490
490
15м
39
Закрытый
8.6
Executor Services
↗
451
451
14м
40
Закрытый
8.7
Structured Concurrency. Часть 1
↗
440
440
12м
42
Закрытый
8.8
Dispatchers Default и Unconfined
↗
426
426
11м
34
Закрытый
8.9
Dispatchers IO и Main
↗
430
430
6м
33
Закрытый
8.10
Job и параллельность
↗
435
435
11м
32
Закрытый
8.11
Async и Deferred
↗
432
432
7м
27
Закрытый
8.12
Jobs Hierarchy
↗
417
417
19м
31
Закрытый
8.13
Исключения. Часть 1
↗
409
409
12м
38
Закрытый
8.14
Исключения. Часть 2. Async
↗
399
399
14м
33
Закрытый
8.15
Отмена корутин
↗
409
409
12м
29
Закрытый
8.16
Suspend Coroutine
↗
398
398
10м
30
Закрытый
8.17
SupervisorJob
↗
411
411
6м
32
Закрытый
8.18
Что такое потоки данных
↗
393
393
13м
37
Закрытый
8.19
Способы создания Sequence
↗
385
385
9м
31
Закрытый
8.20
Начало работы с Flow
↗
395
395
16м
35
Закрытый
8.21
Знакомство с API
↗
409
409
14м
29
Закрытый
8.22
Загрузка данных из сети
↗
378
378
23м
32
Закрытый
8.23
Создание GUI и работа с Regex
↗
392
392
20м
32
Закрытый
8.24
Реактивный стиль
↗
379
379
19м
36
Закрытый
8.25
Channels и Debounce
↗
369
369
12м
32
Закрытый
8.26
Холодные потоки данных
↗
366
366
10м
32
Закрытый
8.27
Горячие потоки данных
↗
368
368
12м
29
Закрытый
8.28
ShareIn
↗
366
366
10м
28
Закрытый
8.29
Buffer и Backpressure
↗
360
360
14м
32
Закрытый
8.30
Screen state as Flow
↗
357
357
15м
30
Закрытый
8.31
MutableStateFlow
↗
358
358
9м
25
Закрытый
8.32
SharedFlow vs StateFlow
↗
350
350
15м
25
Закрытый
8.33
Exceptions in Flow
↗
331
331
12м
22
Закрытый
8.34
Практика работы с исключениями
↗
332
332
8м
26
Закрытый
8.35
Оператор FlowOn
↗
332
332
9м
26
Закрытый
8.36
Наследование CoroutineScope
↗
341
341
13м
30
Закрытый
8.37
Синхронизация корутин
↗
343
343
12м
25
Закрытый
8.38
Channels
↗
360
360
12м
30
9. Kotlin в деталях
18 уроков
👁
6 409
👤
5 748
Закрытый
9.1
Инвариантность и Ковариантность
↗
407
308
20м
34
Закрытый
9.2
Контрвариантность
↗
334
334
14м
25
Закрытый
9.3
Стирание типов
↗
345
345
8м
24
Закрытый
9.4
Reified и Star Projection
↗
337
337
13м
29
Закрытый
9.5
Inline и Non local return
↗
331
331
15м
24
Закрытый
9.6
Crossinline и noinline
↗
323
323
11м
21
Закрытый
9.7
Value classes
↗
329
329
8м
20
Закрытый
9.8
Делегирование свойств
↗
327
327
24м
22
Закрытый
9.9
Делегирование реализации интерфейсов
↗
324
324
14м
27
Закрытый
9.10
Inner и Nested классы
↗
313
313
7м
22
Закрытый
9.11
Destructuring declaration and Infix
↗
317
317
13м
26
Закрытый
9.12
Устройство памяти в Kotlin
↗
341
341
12м
32
Закрытый
9.13
Как работают программы на Java и Kotlin
↗
346
346
6м
35
Закрытый
9.14
Модификатор Internal
↗
332
332
11м
27
Закрытый
9.15
Собеседование
↗
453
292
30м
36
Закрытый
9.16
Тест Kotlin основы
↗
434
236
22м
10
Закрытый
9.17
Тест Kotlin Prof
↗
382
179
33м
15
Закрытый
9.18
Финал
↗
434
434
2м
50
6. Современная Android-разработка с нуля 5.0
1. Введение
10 уроков
👁
4 043
👤
4 043
Закрытый
1.1
Установка среды разработки
↗
489
489
7м
27
Закрытый
1.2
Знакомство с Android Studio
↗
392
392
13м
30
Открытый
1.3
Разбор первой программы. Dp и Sp
↗
1 003
1 003
20м
35
Закрытый
1.4
Modifier
↗
348
348
10м
23
Закрытый
1.5
Row Column Alignment
↗
332
332
20м
24
Закрытый
1.6
Combining Containers
↗
310
310
19м
26
Закрытый
1.7
ARGB модель
↗
301
301
16м
22
Закрытый
1.8
Scaffold и Custom Components
↗
297
297
18м
18
Закрытый
1.9
Material Theme
↗
286
286
13м
20
Закрытый
1.10
Preview и итоги раздела
↗
285
285
14м
24
2. Создаём калькулятор
10 уроков
👁
2 543
👤
2 419
Закрытый
2.1
Создаём тему для калькулятора
↗
294
267
18м
22
Закрытый
2.2
Создание каркаса приложения
↗
273
243
17м
21
Закрытый
2.3
Clip. Дорабатываем UI
↗
259
259
11м
21
Закрытый
2.4
State Рекомпозиции и Логи
↗
258
258
19м
19
Закрытый
2.5
View и ViewModel
↗
260
260
12м
15
Закрытый
2.6
Использование паттерна Команда
↗
247
247
11м
20
Закрытый
2.7
StateFlow и ViewModel
↗
246
217
18м
18
Закрытый
2.8
Добавляем стейты экрана
↗
236
236
13м
15
Закрытый
2.9
Форматирование выражения
↗
233
233
12м
13
Закрытый
2.10
Завершение работы над калькулятором
↗
237
199
14м
12
3. Приложение NotePad
28 уроков
👁
5 235
👤
5 163
Закрытый
3.1
Введение в Clean Architecture
↗
242
242
9м
20
Закрытый
3.2
Domain слой. Часть 1
↗
228
228
18м
19
Закрытый
3.3
Domain слой. Часть 2
↗
215
215
6м
13
Закрытый
3.4
Тестовый Репозиторий
↗
218
218
15м
15
Закрытый
3.5
NotesViewModel. FlatMapLatest
↗
213
213
21м
15
Закрытый
3.6
Подготовка к созданию UI
↗
205
205
11м
8
Закрытый
3.7
RememberScrollState
↗
198
177
19м
13
Закрытый
3.8
LazyLists
↗
198
198
14м
14
Закрытый
3.9
Key и настройка темы
↗
193
182
13м
17
Закрытый
3.10
NotesScreen UI. Часть 1
↗
185
185
23м
15
Закрытый
3.11
NotesScreen UI. Часть 2
↗
183
183
18м
14
Закрытый
3.12
ViewModelScope
↗
186
186
19м
13
Закрытый
3.13
Форматирование даты
↗
180
180
15м
13
Закрытый
3.14
NotesScreen UI. Часть 3
↗
180
164
19м
13
Закрытый
3.15
CreateNoteViewModel
↗
177
177
16м
16
Закрытый
3.16
CreateNoteScreen
↗
173
173
20м
12
Закрытый
3.17
SideEffects
↗
176
176
14м
15
Закрытый
3.18
EditNoteScreen
↗
174
174
17м
10
Закрытый
3.19
Кастомная навигация
↗
176
176
11м
16
Закрытый
3.20
Jetpack Compose Navigation
↗
180
180
14м
17
Закрытый
3.21
Передача параметров в навигации
↗
174
174
11м
15
Закрытый
3.22
Введение в базы данных
↗
171
171
9м
11
Закрытый
3.23
Mapper и Entity
↗
169
169
8м
12
Закрытый
3.24
SQL. Создание DAO
↗
172
148
17м
19
Закрытый
3.25
Context
↗
166
166
9м
13
Закрытый
3.26
Создание базы данных
↗
164
164
10м
12
Закрытый
3.27
NotesRepositoryImpl
↗
166
166
10м
12
Закрытый
3.28
Использование нового репозитория
↗
173
173
8м
18
4. Dependency Injection в Android
10 уроков
👁
1 585
👤
1 520
Закрытый
4.1
Dependency Injection. Введение
↗
175
175
20м
14
Закрытый
4.2
Компонент. Инъекция в свойства класса
↗
165
165
11м
13
Закрытый
4.3
Жизненный цикл зависимостей
↗
162
162
15м
16
Закрытый
4.4
Подключение Hilt
↗
161
146
15м
12
Закрытый
4.5
Module Provides Singleton
↗
158
158
13м
12
Закрытый
4.6
Binds
↗
155
155
6м
12
Закрытый
4.7
Assisted Inject
↗
153
153
14м
16
Закрытый
4.8
Hilt Navigation Compose
↗
149
136
12м
15
Закрытый
4.9
Практика. Добавление Hilt в приложение Notes
↗
147
147
15м
16
Закрытый
4.10
FAQ и подведение итогов
↗
160
123
14м
15
5. Организация локального хранения данных
15 уроков
👁
1 987
👤
1 920
Закрытый
5.1
Сериализация контента
↗
158
128
14м
17
Закрытый
5.2
Подготовка к работе с изображениями
↗
148
148
16м
11
Закрытый
5.3
ActivityResultApi
↗
143
143
17м
14
Закрытый
5.4
Сохранение изображений
↗
142
142
20м
11
Закрытый
5.5
Coil и группировка изображений
↗
133
114
23м
10
Закрытый
5.6
Практика. Экран редактирования заметки
↗
134
134
20м
12
Закрытый
5.7
External и Internal Storage
↗
133
133
19м
11
Закрытый
5.8
Работа с Internal Storage
↗
129
129
14м
10
Закрытый
5.9
Отображение картинок на главной
↗
123
123
14м
11
Закрытый
5.10
Градиенты и строковые ресурсы
↗
123
123
17м
8
Закрытый
5.11
Splash Screen Api
↗
129
111
15м
10
Закрытый
5.12
Нормализация БД
↗
127
127
8м
11
Закрытый
5.13
Embedded Relation Join
↗
120
120
17м
9
Закрытый
5.14
Поддержка новой схемы БД
↗
118
118
12м
13
Закрытый
5.15
Транзакции и Итоги
↗
127
127
11м
15
6. Работа с сетью в Android
29 уроков
👁
3 089
👤
2 899
Закрытый
6.1
Демонстрация приложения News
↗
163
163
2м
13
Закрытый
6.2
Добавление зависимостей
↗
127
127
15м
8
Закрытый
6.3
Domain слой и Database
↗
126
126
27м
9
Закрытый
6.4
Index Room
↗
118
118
4м
9
Закрытый
6.5
Знакомство с API
↗
124
96
13м
9
Закрытый
6.6
Retrofit
↗
122
103
18м
7
Закрытый
6.7
Реализация Репозитория
↗
109
109
22м
7
Закрытый
6.8
SubscriptionsViewModel
↗
103
103
21м
5
Закрытый
6.9
SubscriptionsScreen
↗
101
101
30м
5
Закрытый
6.10
SubscriptionsScreen Часть 2
↗
96
96
13м
5
Закрытый
6.11
Явные и неявные интенты
↗
102
102
12м
4
Закрытый
6.12
Компоненты Android
↗
101
101
5м
4
Закрытый
6.13
WorkManager
↗
98
84
13м
5
Закрытый
6.14
Hilt with Workers
↗
92
92
9м
5
Закрытый
6.15
Domain Settings
↗
91
91
9м
5
Закрытый
6.16
Data Store
↗
94
94
19м
4
Закрытый
6.17
Annotation param и Merged Manifests
↗
91
91
5м
4
Закрытый
6.18
Constraints
↗
94
94
9м
3
Закрытый
6.19
AppStartupManager
↗
97
97
6м
3
Закрытый
6.20
Notifications
↗
97
97
18м
4
Закрытый
6.21
Pending Intent
↗
92
92
8м
4
Закрытый
6.22
Применение настроек для загрузки
↗
91
91
11м
3
Закрытый
6.23
BuildConfig
↗
92
92
10м
4
Закрытый
6.24
SettingsViewModel
↗
98
98
8м
3
Закрытый
6.25
SettingsScreen
↗
101
77
32м
5
Закрытый
6.26
Навигация
↗
112
112
5м
3
Закрытый
6.27
Тест. Часть 1
↗
134
64
12м
0
Закрытый
6.28
Тест. Часть 2
↗
95
60
23м
3
Закрытый
6.29
Финал
↗
128
128
3м
10