
На этом уроке добавляем все нужные зависимости и создаем проект.
На этом уроке добавляем Entities.
Создаем Dao интерфейс и MainDb класс.
Доделываем Dao интерфейс.
Создаем Repository.
Создаем модуль Dagger Hilt.
Продолжаем работать с Dagger Hilt.
Создаем MainScreen и настраиваем FloatingButton.
Добавляем BottomNavigation на MainScreen.
Создаем пустые экраны для нашего приложения.
Создаем NavigationGraph для переключения между экранами.
Создаем разметку для одного элемента из списка ShoppingList.
Создаем событие для экрана ShoppingList.
Создаем ViewModel класс для экрана ShoppingList.
Создаем DialogController.
Создаем события для AlertDialog.
Создаем события для UI и Channel для их передачи.
Создаем AlertDialog.
Создаем MainScreenViewModel и события MainScreenEvents.
Пишем код для показа списка на экране ShoppingListScreen.
Создаем события UiShoppingListItemEvent.
Добавляем событие для навигации по экранам и событие UI для ShoppingListScreen.
Отправляем listId на AddItemScreen.
Создаем класс AddItemViewModel.
Создаем разметку UiAddItem.
Добавляем обработку событий в AddItemViewModel
Добавляем обновление ShoppingListItem
Создаем AddItemScreen
События на экране AddItemScreen
Добавляем SnackBar
Прячем FloatingActionButton когда он не нужен.
Содаем UiNoteItem разметку.
Создаем NewNoteScreen
Создаем NewNoteVeiwModel
Доделываем логику, что бы при нажатии на FloatingActionButton можно было доавить новую заметку
Создаем ViewModel класс для экрана с заметками
Создаем NoteListScreen для показа списка заметок
Создаем оповещение SnackBar для заметок
Создаем Extention функцию для класса ViewModel что бы брать настоящее время в нужном формате
Создаем AboutScreen.
Создаем SettingsScreen.
Создаем SettingsViewModel класс.
Создаем класс DataStoreManager для сохранения настроек.
Пишем логику для применения сохраненного цвета.
Создаем функцию для изменения цвета LinearProgressIndicator в зависимости от прогресса.
Добаваляем поиск заметок.
Создаем простую авто миграцию.
Создаем сложную мграцию (удаление, изменение названия полей или таблицы)
Добавляем созданную БД в проект.
Обновляем библиотеки и переходим на Material 3
Из за перехода на Material 3 некоторые элементы изменили свой цвет по той приччине что в Material 3 в некоторых компонентах цвет настраиваеться немного по другому, этим мы и займемся на этом уроке.
На данном курсе мы изучим подробно работу с библиотекой Room persistance library для работы с базой данных SQLite. Для того что бы уроки были более понятными и интересными, проще усвоились мы будем изучать данную тему на основе создания приложения "Список покупок и Блокнот", а именно у нас будет два в одном. В процессе создания мы не только изучим работу с БД но и освоим архитектуру MVVM. Узнаем как создавать экран настроек используя DataStore. Узнаем как связываються между сабой различные таблицы в БД. Научимся создавать разметку для экранов c помощью Jetpack Compose, изучим Navigation, BottomNavigation, ViewModel, узнаем как создавать события с помощью sealed class, создавать разные классы для работы нашего приложения, научимся использовать Dagger Hilt в нашем приложении, а также научимся использовать AlertDialog для ввода данных и оповещения пользователя. Так же мы узнаем как делать миграцию разного типа (простую миграцию AutoMigration и сложную миграцию AutoMigrationSpec) и создавать с помощью программы DB Browser (SQLite) и добавлять уже созданную БД в наше приложение. Курс содержит в себе много информации с подробным объяснением, советую проходить его не торопясь, давать время на усвоение материала. Ну и конечно если возникнут любые трудности по курсу я всегда рад помочь, обращайтесь без проблем! Всего доброго и увидимся уже на курсе!! приступим!!