Назад в библиотеку
Первоисточник: https://drive.google.com/file/d/13t09rz5Bodvg5MQAkDqB3L2_FTsmUTYg/edit

Разработка мобильного приложения для планирования и организации рабочего дня

Усаненко К.К., Левкина А.В.

Донецкий национальный технический университет

УДК: 004.415.28

Аннотация: Рассматриваются существующие аналоги для устройств, а также технологии и этапы разработки мобильного приложения «Tasks creator». Предоставлены фреймворки для реализации функционала планирования и организации рабочего дня.

Ключевые слова: управление временем, мобильное приложение, UML, планирование задач, фреймворки.

Общая постановка проблемы

В современном мире, где темп жизни постоянно ускоряется, эффективное управление временем становится критически важным навыком для каждого человека. Люди сталкиваются с огромным количеством задач и обязанностей как на работе, так и в личной жизни, что требует продуманного подхода к планированию и организации рабочего дня. Отсутствие четкого планирования может привести к потере времени, снижению продуктивности и повышению уровня стресса. Многие люди пытаются решить эту проблему с помощью различных инструментов, таких как бумажные планировщики, календари и заметки, однако они часто оказываются недостаточно гибкими и удобными для использования в современном цифровом мире. Мобильные устройства стали неотъемлемой частью нашей жизни, предоставляя возможность всегда быть на связи и иметь под рукой необходимые инструменты для работы и планирования. На рынке уже существуют приложения для управления задачами и планирования времени, однако не все из них способны удовлетворить потребности пользователей в полной мере. Часто встречающиеся проблемы включают в себя сложный интерфейс, недостаточную функциональность, отсутствие синхронизации между устройствами и неэффективные алгоритмы напоминаний. Таким образом, существует явная потребность в разработке мобильного приложения, которое бы не только предоставляло пользователю удобные инструменты для планирования и организации рабочего дня, но и использовало современные технологии для повышения продуктивности и улучшения качества жизни. Такое приложение должно быть интуитивно понятным, адаптивным, чтобы максимально соответствовать потребностям современных пользователей.

Обзор аналогов

На сегодняшний день рынок программного обеспечения может предложить выбор утилит, предназначенных для планирования и организации рабочего дня, платных и бесплатных, а также с ограниченным функционалом. Рассмотрим два популярных приложения: «Todoist» и «Any.do».

«Todoist» — это одно из наиболее известных и широко используемых приложений для управления задачами и проектами. Todoist позволяет без особых усилий переместить все задачи из головы и организовать их в одном надежном пространстве [1]. Пользователи могут создавать задачи с подзадачами, устанавливать сроки и приоритеты, а также добавлять метки и категории для лучшей организации. Одной из сильных сторон Todoist является его кроссплатформенность — приложение доступно на различных устройствах и операционных системах, что позволяет синхронизировать данные в реальном времени. Кроме того, Todoist поддерживает интеграцию с множеством других сервисов, таких как Google Calendar, Dropbox и Slack, что делает его мощным инструментом для комплексного управления задачами. Однако, несмотря на многочисленные преимущества, Todoist может оказаться слишком сложным для новых пользователей из-за обилия функций, и некоторые пользователи отмечают, что базовая версия приложения ограничена в функциональности, требуя подписки для доступа к более продвинутым возможностям (рис. 1).


Интерфейс программы «Todoist»
Рисунок 1 – Интерфейс программы «Todoist»


Any.do — многофункциональный инструмент для планирования и ведения дел.[2] Any.do предоставляет пользователям возможность легко создавать и управлять задачами, используя интуитивно понятный интерфейс с поддержкой жестов и голосового ввода. Одной из ключевых функций Any.do является интеграция с календарем, что позволяет пользователям планировать свои задачи в контексте их ежедневного расписания. Приложение также поддерживает создание списков покупок и заметок, что делает его универсальным инструментом для личного и рабочего использования (рис. 2). Any.do предлагает систему напоминаний, которая включает в себя не только классические уведомления, но и напоминания на основе местоположения, что особенно полезно для задач, связанных с конкретными локациями. Кроме того, приложение интегрируется с различными сервисами, такими как Google Calendar, Outlook и Slack, что обеспечивает синхронизацию и совместную работу.


Интерфейс программы «any.do»
Рисунок 2 – Интерфейс программы «any.do»


Реализация программы «Tasks creator»

Мобильное приложение разработано для смартфонов на платформе операционной системы Android на языке Java в среде программирования Android Studio. Целью разработки было создание приложения, архив задач является уникальным и в подобном виде не реализован у конкурентов (рис. 3). Ни одно из рассмотренных приложений не позволяет архивировать задачи для возможности просмотреть его или удалить в будущем. При разработке программы были поставлены следующие цели: упрощение процесса создания и управления задачами, обеспечение возможности приоритизации, архивизации и категоризации задач, предоставление мощных напоминаний и уведомлений.

Благодаря средствам локализации реализовано две версии приложения: русская и английская. Выбор той или иной языковой настройки определяется системным языком, установленным на устройстве.

Основные классы фреймворков

Все долгосрочные данные хранятся в базе данных в соответствующих таблицах. Средство реализации — SQLite. Класс TasksCreatorDBHelper - наследуется от специального класса SQLiteOpenHelper и непосредственно работает с базой данных. В классе создаются константы для удобной работы. Также реализуются методы onCreate() и onUpgrade().[3]

AlarmManager — это специальный системный сервис, позволяющий выполнить пользовательский код в определенный момент времени. Этот менеджер является частью системы Андроид, постоянно находится в памяти и бдит за временем и задачами. Как только приходит положенное время, он извлекает помещенную в него заранее задачу и инициирует выполнение задачи[4]. С его помощью реализуется функциональность напоминаний о предстоящих задачах.

Toast — это механизм для отображения кратковременных уведомлений внутри активностей приложения. Они используются для предоставления пользователям быстрых сообщений о результатах операций или других важных событиях.

Spinner — класс для реализации выпадающих списков. Они используются в приложении для выбора из ограниченного набора вариантов, таких как категории задач или приоритеты.

Switch — класс для создания переключателей, используемых для включения или отключения определенных функций или параметров. В приложении Switch используется для управления состоянием задач (например, отметка задачи как выполненной).

ListView — класс для реализации прокручивающихся списков, используемых в различных активностях приложения, таких как «Мои задачи» и «Архив».

DialogFragment — класс для создания диалоговых окон, которые используются для взаимодействия с пользователем, включая подтверждение действий, ввод данных и отображение предупреждений.

Статистика в приложении ведётся по всем актуальным задачам и задачам из архива. Т.е если задача будет удалена из актуальных без сохранения в архив или удалена из архива, то она не будет учитываться при сборе статистики. Предупреждение об этом выводится во всех диалоговых окнах, отвечающих за данные функции.

При настройке внешнего вида всех форм активностей используются идентичные стилевые параметры: отступы, цвета, шрифты, размеры полей, кнопок и других элементов. Это обеспечивает визуальную целостность приложения, делает его приятным в использовании.


Интерфейс программы «Tasks creator»
Рисунок 3 – Интерфейс программы «Tasks creator»


Условно структуру приложения можно разделить на четыре части: действия пользователя, интерфейс мобильного приложения, менеджер задач и база данных. Запуская приложение, пользователь начинает с ввода задач и их параметров. После этого данные поступают в менеджер задач, где задачи сохраняются и организуются по приоритетам и категориям. Затем устанавливаются напоминания для каждой задачи на основе заданных пользователем параметров. При наступлении времени напоминания система выдает звуковой сигнал пользователю, уведомляя его о предстоящей задаче (рис. 4).


Диаграмма последовательности
Рисунок 4 – Диаграмма последовательности


Выводы

Для достижения поставленной цели были проанализированы различные средства разработки клиентских приложений. В результате анализа достоинств и недостатков существующих программных средств, предназначенных для планирования и организации задач, было разработано новое приложение, не имеющее аналогов с точки зрения его реализации. Разработанное приложение имеет индивидуальный дизайн, основанный на рецензиях пользовательских конкурентов. Уникальность данного приложения среди аналогов функция архивирования задач. Приложение может найти широкое применение у людей, которые стремятся эффективно управлять своими рабочими обязанностями и проектами, а также его можно применять для структурирования и организации учебных задач.

Литература

  1. Возможности | Todoist [Электронный ресурс] – Режим доступа : https://todoist.com/ru/features.
  2. Any.DO — обзор сервиса [Электронный ресурс] – Режим доступа : https://startpack.ru/application/any-do-list#integrations.
  3. SQLite и Android. Кошкин дом. Часть вторая [Электронный ресурс] – Режим доступа : https://developer.alexanderklimov.ru/android/sqlite/cathouse2.php.
  4. Использование AlarmManager в FireMonkey [Электронный ресурс] – Режим доступа : http://yaroslavbrovin.ru/using-alarmmanager-in-firemonkey-on-android-ru/.