Тема: РЕАЛИЗАЦИЯ ПРОГРАММНОГО ИНСТРУМЕНТАРИЯ ДЛЯ АВТОМАТИЗАЦИИ ПРОЦЕССА РАЗРАБОТКИ ВИЗУАЛЬНЫХ ИНТЕРФЕЙСОВ И АРХИТЕКТУРЫ ANDROID-ПРИЛОЖЕНИЙ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1 Обзор смежных решений 5
2 Общая схема работы программного решения 7
2.1 Принцип работы 7
2.2 Внешний вид плагина 9
3 Генерация элементов интерфейса 12
3.1 Контейнер LinearLayout 12
3.2 Контейнер RelativeLayout 13
3.3 КомпонентNestedScrollView 14
3.4 Элемент Toolbar 14
3.5 Элемент Text View 15
3.6 Элемент EditText 16
3.7 Элемент RadioButton 17
3.8 Элемент Checkbox 17
3.9 Элемент RecyclerView 17
3.10 Элемент CardView 19
3.11 Элемент Web View 19
3.12 Элемент Button 19
3.13 Элемент ImageView 20
4 Генерация архитектуры Android-приложения 22
4.1 Clean architecture 22
4.2 Предсказывание шаблона проектирования 27
5 Пример использования инструментария 31
Заключение 40
Список использованных источников 42
Приложение А. Исходный код основных модулей программы
📖 Введение
Процесс разработки Android-приложений - долгий и сложный процесс, только на продумывание архитектуры уходит, по нашему опыту, от 10% всего выделенного времени, а на перевод макетов дизайна страниц приложений около 5%. Одной из первых стадий создания мобильного приложения является отрисовка всех сценариев работы в графическом редакторе, например, в таком как Sketch [3]. По внешнему виду страниц можно определить примерную архитектуру всего приложения, какие таблицы базы данных могут использоваться, поэтому макеты нечто большее, чем просто верстка для разработчика. При этом во время их создания дизайнеру приходится рисовать с нуля большинство элементов верстки, контекстуально понятные квалифицированному разработчику, но не всегда корректно определяемые нейронной сетью. После того, как разработчик получает изображение макетов, ему нужно перевести их в программный код. Таким образом, работа с внешним видом приложения дублируется, из-за чего увеличиваются затраты на разработку по времени и деньгам.
В связи с вышесказанным была поставлена цель - реализовать плагин для среды разработки Android Studio, который позволил бы генерировать программный код XML-файлов и Java-классов, а также строить архитектуру
приложения и составлять таблицы для работы с базой данных на основании Sketch-файлов.
Были определены следующие задачи, выполнение которых необходимо для достижения поставленной цели:
1) разработка модуля генерации XML-кода на основе данных, полученных в результате обработки Sketch-файла;
2) формирование кастомных моделей на основании изображений, которые не были опознаны в результате распознавания нейронной сетью;
3) разработка модуля генерации Java-классов согласно паттернам MVP и MVVM в связке с Clean Architecture по полученной Sketch-странице;
4) реализация функциональной возможности генерации таблиц базы данных и CRUD-методов на основании библиотеки Android Room.
✅ Заключение
Для достижения поставленной цели были выполнены следующие задачи:
1) разработан модуль генерации XML-кода на основе данных, полученных в результате обработки Sketch-файла;
2) сформированы кастомные модели на основании изображений, которые не были опознаны в результате распознавания нейронной сетью;
3) разработан модуль генерации Java-классов согласно паттернам MVP и MVVM в связке с Clean Architecture по полученной Sketch-странице;
4) реализована функциональная возможность генерации таблиц базы данных и CRUD-методов на основании библиотеки Android Room.
Разработанный инструментарий автоматически генерирует:
1) XML-файлы с типами layout, menu, item. В layout могут быть реализованы такие модели верстки как: LinearLayout, RelativeLayout, Image View, Toolbar, Button, RecyclerView, TextView, CardView, EditText, Web View, RadioButton, Checkbox, NestedScrollView. Все они инициализируются в родительском activity-классе с учетом своих особенностей. Menu-файлы создаются при обнаружении специальных иконок внутри элемента Toolbar, a item при наличии RecyclerView в layout.
2) PNG и VectorDrawable, которые выводятся из Sketch с помощью специально написанных скриптов на Javascript.
3) Java-классы для построения Clean Architecture. Для эффективного распределения ресурсов для работы с UI для модуля presentation определяется паттерн MVP или MVVM с помощью составления контекста страниц, где каждому элементу присваивается коэффициент использования, а также с помощью сортировки страниц, являющихся состоянием одного экрана.
Данные файлы и классы предназначены для упрощения и ускорения работы разработчика Android-приложений, все они открыты для расширения и закрыты для модификации, в соответствии с правилами SOLID.



