АННОТАЦИЯ 3
Введение 3
1 Формализация требований заказчика 4
1.1 Питание 4
1.2 Изменения в фотодневнике 7
1.3 Тренировки 7
1.4 Управление функциональностями приложения и напоминаниями 9
1.5 Виджеты на системном экране устройства 10
1.6 Серверная часть 10
1.7 Мультиплатформенность 12
2 Проектирование изменений 14
2.1 Проектирование мультиплатформенного решения 14
2.2 Проектирование взаимодействия с внешними источниками данных 18
3 Реализация изменений 23
3.1 Используемые библиотеки 23
3.2 Реализация мультиплатформенной части 24
3.3 Изменения в навигации 27
3.4 Реализация рецептов 31
3.5 Изменения в фотодневнике 33
3.5.1 Изменения в получении изображений из галереи 33
3.5.2 Редактирование фотографии 35
3.5.3 Возможность поделиться изображением из фотодневника 38
3.6 Получение данных из Health Connect 39
3.7 Управление функциональностями приложения 43
3.8 Напоминания 46
3.9 Изменения в процессе покупки платных возможностей 48
3.10 Виджеты на системном экране 50
Заключение 54
Список использованных источников и литературы 55
Приложение А 58
Приложение Б 60
В настоящее время много людей интересуется здоровым образом жизни (ЗОЖ) и старается соблюдать его принципы. Это неудивительно. По мере развития автоматизации увеличивается количество сидячей работы. Новые технологии ведут к уменьшению физической активности человека. В результате люди чаще сталкиваются с негативными последствиями малоподвижного образа жизни. Поэтому в последние годы растёт интерес к теме ЗОЖ [1].
Несмотря на популярность данной темы и на то, что большинство так или иначе старается следовать принципам здорового образа жизни, далеко не все придерживаются его постоянно [2]. Ведь соблюдать правила не просто, для этого требуется дисциплина и самоконтроль.
Важными компонентами здорового образа жизни являются правильное питание и регулярная физическая активность. Приложение «Shape.ly» помогает достигать или поддерживать желаемую физическую форму. Оно предоставляет комплекс возможностей, включающий в себя:
• отслеживание потребляемой пищи и количества выпиваемой воды;
• отслеживание потраченных на тренировках калорий;
• занесение результатов измерений тела;
• визуализация изменений с помощью фотодневника;
• просмотр различной статистики.
Первая версия Android-приложения была опубликована летом 2024 года. Несмотря на то, что оно обладало большим количеством возможностей, у него были недостатки в сравнении с приложениями-конкурентами. Один из них заключался в том, что вся работа с данными происходила локально. Также отсутствовала готовая база продуктов, что существенно осложняло ввод потреблённой пищи до тех пор, пока пользователь не вносил в приложение данные о паре десятков продуктов. Отсутствие некоторые второстепенных, но иногда очень удобных возможностей могло привести к использованию аналога. Компания, владеющая приложением, приняла решение развивать его, чтобы повысить его конкурентоспособность.
Целью данной работы является модернизация клиентского приложения «Shape.ly». Для достижения поставленной цели необходимо выполнить следующие задачи:
1) формализовать требования заказчика;
2) спроектировать необходимые изменения;
3) реализовать изменения.
1 Формализация требований заказчика
Для новой версии Android-приложения «Shape.ly» заказчиком был дан список возможностей, которые должны быть внедрены в новом обновлении. Он включал следующие пункты.
• Внесение КБЖУ составных блюд (блюд из нескольких продуктов) и рецептов к ним. Рецепты можно делать общедоступными и делиться ими.
• Генерация плана питания с учётом предпочтений пользователя с помощью сторонней нейронной сети.
• Экспорт информации о потреблённой еде для отчётов тренеру.
• Предобработка фото перед добавлением в дневник, шаринг фото.
• Получение данных об активности с фитнес-браслетов и учёт этой активности в норме КБЖУ (по желанию пользователя).
• Гибкое управление видимыми в приложении фичами (отключение ненужных по желанию пользователя).
• Получение push-уведомлений и локальных напоминаний.
• Виджеты на главном экране устройства.
• Сохранение всех данных пользователя на сервере.
Вначале пожелания заказчика были формализованы, чтобы определить, какие конкретные изменения необходимо внести в существующее приложение и как это сделать наилучшим образом.
В результате выполнения данной работы была создана новая версия Android- приложения, в которой реализованы требуемые заказчиком возможности. Все поставленные задачи были выполнены.
Во время выполнения работы был получен опыт по использованию технологии Kotlin Multiplatform для написания кроссплатформенной бизнес-логики для операционных систем Android и iOS. На этапе проектирования были изучены способы интеграции различных источников данных и синхронизации между ними. Во время реализации были приобретены практические навыки по созданию и переработке пользовательского интерфейса Android-приложения не только с помощью написания новых компонентов, но и используя или адаптируя существующие элементы. Также получен опыт работы с системными компонентами операционной системы Android для отправки уведомлений- напоминаний и создания виджетов на домашнем экране устройства.
В данный момент обновление для Android-приложения находится на этапе тестирования, проверяется интеграция с предоставленной заказчиком серверной частью, которая находится ещё на стадии реализации. По окончанию тестирования обновление будет выпущено в магазинах приложений RuStore и Google Play, и все артефакты будут переданы заказчику. В дальнейшем при необходимости планируется выполнять действия по поддержке и развитию клиентского приложения путём добавления новых возможностей на основе отзывов пользователей.