Тема: РАЗРАБОТКА ПРОГРАММНОГО ИНСТРУМЕНТА ДЛЯ АВТОМАТИЧЕСКОЙ ГЕНЕРАЦИИ КОДА ПОЛЬЗОВАТЕЛЬСКИХ ИНТЕРФЕЙСОВ ANDROID-ПРИЛОЖЕНИЙ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1 КОНЦЕПЦИЯ ПРОГРАММНОГО РЕШЕНИЯ 5
1.1 Описание проекта решения 5
1.2 Обзор распознаваемых элементов интерфейса 8
1.3 Архитектура программного решения 12
2 РАСПОЗНАВАНИЕ ЭЛЕМЕНТОВ ИНТЕРФЕЙСА 14
2.1 Выбор подхода и модели распознавания 14
2.2 Подготовка и обучение модели 17
2.3 Постобработка результатов распознавания 20
3 СОЗДАНИЕ АДАПТИВНОЙ ВЁРСТКИ 23
3.1 Выбор разметки 23
3.2 Алгоритм размещения 24
3.3 Проблема ложных ограничений 27
4 СТИЛИЗАЦИЯ ЭЛЕМЕНТОВ ИНТЕРФЕЙСА 28
5 ГЕНЕРАЦИЯ XML-КОДА 30
ЗАКЛЮЧЕНИЕ 32
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33
ПРИЛОЖЕНИЕ
📖 Введение
По данным замеров, проведённых в существующем приложении компании FlatStack, написание xml-кода пользовательского интерфейса занимает по 120-180 минут на каждую новую страницу сложности ниже среднего, без учёта функционала и бизнес-логики. В среднем, в популярных приложениях, таких как Instagram, Telegram, Vkontakte и так далее, разработчику необходимо создать от 15 до 20 и более окон на одно приложение, что в сумме займёт более 40 часов, при условии, что все экраны имеют сложность ниже среднего. Стоит заметить, что это время прямо пропорционально сложности каждого окна приложения.
На текущий момент процесс создания вёрстки является стандартным и состоит в построении в xml-формате зарезервированных библиотекой ключевых слов и параметров к ним на основе дизайна, который в основном находится на платформах Sketch, Figma и Adobe XD [2].
Все необходимые для разработки пользовательских интерфейсов данные описаны в файлах графических редакторов, однако разработчику приходится тратить более часа, в зависимости от количества элементов и сложности их размещения, на ручной перенос данных одного экрана в xml-формат, понятный для системы Android. Время разработки сокращается при наличии инструмента, создающего пользовательский интерфейс на основе дизайна в автоматическом режиме.
Целью данной работы является создание инструмента, позволяющего на основе дизайна редактора Figma автоматически генерировать xml-код пользовательского интерфейса для Android-приложений.
Были поставлены следующие задачи, выполнение которых необходимо для достижения цели:
• реализовать сбор данных, описывающих пользовательский интерфейс;
• обучить модель нейронной сети для корректного распознавания элементов дизайна;
• разработать алгоритм размещения распознанных элементов в вёрстке, адаптированной для экранов разного размера, с минимальным уровнем вложенности элементов;
• разработать модуль стилизации распознанных объектов на основе дизайна;
• реализовать генерацию xml-файла, описывающего вёрстку пользовательского интерфейса Android-приложений.
✅ Заключение
Для достижения поставленной цели были выполнены следующие задачи:
• реализован сбор данных, описывающих пользовательский интерфейс;
• обучена модель нейронной сети для корректного распознавания элементов дизайна;
• разработан алгоритм размещения распознанных элементов в вёрстке, адаптированной для экранов разного размера, с минимальным уровнем вложенности элементов;
• разработан модуль стилизации распознанных объектов на основе дизайна;
• реализована генерация xml-файла, описывающего вёрстку пользовательского интерфейса Android-приложений.
Разработанное программное решение позволит сократить трудозатраты на реализацию пользовательских интерфейсов Android-приложений.
Результаты выполнения данной выпускной квалификационной работы опубликованы в открытом доступе в репозитории GitLab и доступны по ссылке: http ://gititis.kpfu.ru/ILMAZ 13/EasyXML.



