Приветствие и описание приложения: форма для создания напоминаний и список уже созданных.
Приложение отправляет уведомления с напоминаниями в указанную дату и время.
Исходный код доступен на GitHub, приложение можно скачать в Chat Locker.
Проект создается в Android Studio с использованием Jetpack Compose.
Добавление иконок удаления и приложения в проект.
Настройка масштаба иконок.
Добавление значка уведомления и настройка его цвета.
Добавление цветов для проекта: синий, темно-синий, неоновый голубой, темный прозрачный.
Добавление строк для проекта: название приложения, предупреждения, подсказки, ошибки, сообщения.
Перевод строк на русский язык для поддержки многоязычия.
Установка зависимостей для работы с датами и временем, скрытия статус бара, работы с вью моделями и лиф дейрами.
Добавление разрешений для отправки уведомлений и точного планирования будильников.
Создание класса ReminderApplication для инициализации библиотеки и создания канала уведомлений.
Переопределение метода onCreate и инициализация библиотеки Android Sriten.
Создание экземпляра класса NotificationChannel и настройка его параметров.
Добавление класса в манифест.
Создание вспомогательных функций для генерации идентификаторов, добавления строки ноль и получения текущей даты.
Функция для вычисления устарелости напоминания.
Создание BroadcastReceiver для отправки уведомлений.
Настройка уведомлений: иконка, заголовок, текст, приоритет, видимость, звук.
Проверка разрешения на отправку уведомлений и отправка уведомления.
Создание класса DatabaseHelper для работы с базой данных.
Переопределение методов onCreate и onUpgrade для создания и обновления таблицы.
Создание класса Reminder для работы с данными напоминаний.
Создание вью модели ReminderViewModel для работы с полями ввода и списком напоминаний.
Функция добавления нового напоминания с проверкой и добавлением в базу данных.
Функция удаления напоминания с удалением из массива и базы данных.
Функция для
Создаем новый экземпляр напоминания.
Удаляем напоминания из базы данных, если они в прошлом.
Добавляем напоминания в массив, если они не в прошлом.
Сортируем массив напоминаний по дате и времени.
Планируем уведомления с контекстом, датой, временем и текстом.
Создаем уведомление с помощью функции.
Планируем уведомление, если устройство работает на Android версии ниже 12 или разрешено планировать точные будильники.
Создаем форму создания напоминания.
Импортируем необходимые компоненты и стили.
Добавляем поле ввода текста и компонент выбора даты.
Объединяем поля ввода даты и времени в один компонент.
Добавляем кнопку создания напоминания.
Создаем файл для элемента списка напоминаний.
Используем контейнер для горизонтального расположения элементов.
Добавляем текст напоминания, дату и время, а также иконку удаления.
При клике на иконку удаляем напоминание.
Создаем новый файл для списка напоминаний.
Получаем контекст и вызываем метод getReminders.
Используем LazyColumn для отображения списка.
Вызываем метод для создания элемента списка с экземпляром напоминания и вью моделью.
Запрашиваем разрешение на отправку уведомлений.
Показываем предупреждение, если пользователь не дал разрешения.
Скрываем статус бар и изменяем его цвет.
Получаем аляр менеджер.
Если версия Android на устройстве Tiramisu или выше и уведомления отключены, запрашиваем разрешение на отправку уведомлений.
Если уровень API выше 31, перекидываем пользователя в настройки для включения этой возможности.
С помощью компониста скрываем системные бары.
Создаем вью модель и инициализируем дата бейс хелпер и аляр менеджер.
Создаем главный контейнер приложения, который заполняет все пространство и имеет градиент из черного и синего цветов.
Создаем компоу функцию ап тайтл для надписи в верху приложения.
Добавляем стили, такие как белый цвет и шрифт Санс Серриф.
Убираем ненужные элементы, такие как реквая с и пи тридцать четыре.
Запускаем приложение и проверяем его внешний вид.
Создаем напоминание, выбираем текст, дату и время.
Проверяем, приходят ли уведомления после создания напоминания.
Проверяем, приходят ли уведомления при удалении напоминания.
Приложение работает корректно.
Автор делится своим старым проектом и приглашает к обсуждению в комментариях.
Рекомендует посмотреть другие видео автора о создании мобильных приложений.