Реализация Android-приложения с поддержкой смены тем, работы с уведомлениями. разрешениями и отображением изображений.
Данный проект реализует приложение, позволяющее:
- Загружать и удалять изображение в
ImageView. - Менять цветовую схему всего приложения без использования
SharedPreferences. - Отправлять уведомления с различными уровнями приоритета.
- Обрабатывать нажатие на уведомление.
- В верхней части экрана находится круглый
ImageView. - По нажатию на
ImageViewзагружается не скругленное изображение (локально или из интернета). - После загрузки появляется кнопка "удалить".
- При нажатии на кнопку изображение удаляется, а кнопка скрывается.
- Ниже располагается контейнер с вариантами цветовых схем.
- По нажатию на один из вариантов применяется соответствующая тема ко всему приложению.
- Для применения темы используется метод
recreate(). - Тема хранится внутри
ViewModel, без использованияSharedPreferences.
- Пользователь вводит заголовок и текст уведомления.
- Выбирает уровень приоритета через
Spinner. - По нажатию на кнопку проверяются поля:
- Если одно из полей пустое — показывается
Toast/Snackbar. - Если все поля заполнены — отправляется уведомление с выбранным уровнем важности.
- Если одно из полей пустое — показывается
- При нажатии на уведомление:
- Приложение открывается заново.
- Показывается
Toast, что оно было запущено из уведомления.
- Сбрасывает текущую цветовую схему к стандартной.
- По нажатию на
ImageViewможно выбрать изображение из галереи устройства. - Изображение отображается в
ImageView.
- Kotlin
- Xml
- ViewBinding
- Glide
- NotificationManager + NotificationCompat
- Permissions
Учебный проект был реализован давно, без использования Clean Architecture, MVVM, Hilt. Применение Clean Architecture, MVVM, Hilt есть в проктах Recipe Book, T-Travelling
Скринкаст: https://disk.yandex.ru/i/FgbRa47A0qY85A