Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Учебный проект — Themes & Notifications

Реализация Android-приложения с поддержкой смены тем, работы с уведомлениями. разрешениями и отображением изображений.

🔖 Описание проекта

Данный проект реализует приложение, позволяющее:

  • Загружать и удалять изображение в ImageView.
  • Менять цветовую схему всего приложения без использования SharedPreferences.
  • Отправлять уведомления с различными уровнями приоритета.
  • Обрабатывать нажатие на уведомление.

1. ImageView с загрузкой изображения

  • В верхней части экрана находится круглый ImageView.
  • По нажатию на ImageView загружается не скругленное изображение (локально или из интернета).
  • После загрузки появляется кнопка "удалить".
  • При нажатии на кнопку изображение удаляется, а кнопка скрывается.

2. Смена цветовой схемы

  • Ниже располагается контейнер с вариантами цветовых схем.
  • По нажатию на один из вариантов применяется соответствующая тема ко всему приложению.
  • Для применения темы используется метод recreate().
  • Тема хранится внутри ViewModel, без использования SharedPreferences.

3. Уведомления

  • Пользователь вводит заголовок и текст уведомления.
  • Выбирает уровень приоритета через Spinner.
  • По нажатию на кнопку проверяются поля:
    • Если одно из полей пустое — показывается Toast / Snackbar.
    • Если все поля заполнены — отправляется уведомление с выбранным уровнем важности.
  • При нажатии на уведомление:
    • Приложение открывается заново.
    • Показывается Toast, что оно было запущено из уведомления.

4. Кнопка "Сбросить цвет"

  • Сбрасывает текущую цветовую схему к стандартной.

5. Загрузка изображения из галереи

  • По нажатию на 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

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages