Тип работы:
Предмет:
Язык работы:


РАЗРАБОТКА ПРОГРАММНОГО ИНСТРУМЕНТАРИЯ ДЛЯ РЕСУРСОСБЕРЕГАЮЩЕГО УПРАВЛЕНИЯ ИНФРАСТРУКТУРОЙ ANDROID-ПРОЕКТА

Работа №35171

Тип работы

Дипломные работы, ВКР

Предмет

программирование

Объем работы67
Год сдачи2019
Стоимость4900 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
212
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 3
1 ТРЕБОВАНИЯ К СИСТЕМЕ 5
Е1 Требования к интерфейсу 5
1.2 Требования к архитектуре 5
ЕЗ Требования к функционалу 6
ЕЗ. 1 Требования к компоненту apm scan 6
1.3.2 Требования к компоненту apm create 7
1.3.3 Требования к компоненту apm emulator 7
1.3.4 Требования к компоненту apm run 8
2 ОПИСАНИЕ КОМПОНЕНТОВ 9
2.1 Общее представление системы 9
2.2 Реализация компонента сканирования системы 10
2.3 Реализация компонента создания проекта 15
2.4 Реализация компонента управления эмулятором 19
2.5 Реализация компонента сборки и запуска приложения 22
3 ПРИМЕР ИСПОЛЬЗОВАНИЯ ИНСТРУМЕНТА 26
ЗАКЛЮЧЕНИЕ 31
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33
ПРИЛОЖЕНИЕ

Количество пользователей мобильных устройств в 2019 году оценивается в 4,68 миллиардов человек [1]. Притом 69,68% всех мобильных устройств работают под управлением мобильной операционной системы Android [2]. Огромная популярность системы отражается в количестве разработчиков.
На сегодняшний день рынок инструментов для Android-разработчиков предлагает единственную актуальную среду для создания приложений - Android Studio. Однако она имеет ряд недостатков:
• Большой размер установочного пакета, равный 1 гб памяти компьютера (для операционной системы Linux).
• Высокие системные требования. В официальном источнике рекомендуемое количество оперативной памяти равно 8 гигабайтам [3]. Экспериментально было выявлено, что для двух одновременно открытых проектов для стабильной работы требуется 16 гигабайт памяти.
• Android Studio обязывает использовать в качестве средства сборки проекта сборщик Gradle, что может не подходить по различным причинам.
Существуют специальные программы - сборщики, такие как Gradle, Maven и Ant, задачей которых является упростить создание и управление проектами. Однако, процесс создания не может быть подвержен изменению со стороны разработчика, что приводит к ограниченности выбора программистом шаблона проекта. Кроме того, Android-проект не может быть создан средствами ни одного из существующих сборщиков.
Создание проекта вручную - это трудоемкий процесс с высоким риском ошибок, которые сложно выявить. В структуру этого процесса входит:
создание 34 директорий с глубиной вложенности не менее 3, как минимум 25 файлов и заполнение их текстом по определенному шаблону.
Таким образом, целью данной работы является разработка консольного приложения для организации создания и управления Android-проектом из командной строки для снижения требований к мощности устройств с любым из доступных средств сборки, либо вообще без него.
Для достижения поставленной цели были определены следующие задачи:
1) разработать интерфейс: определить входные точки в приложение, требуемое поведение и отображение;
2) разработать архитектуру: определить внутреннее устройство,
согласованность отдельных компонентов приложения, степень расширяемости и поддерживаемости;
3) реализовать компонент, ответственный за проверку наличия в системе необходимых зависимостей;
4) реализовать компонент, ответственный за создание проекта;
5) реализовать компонент, ответственный за создание и запуск эмулятора;
6) реализовать компонент, ответственный за сборку и запуск проекта.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках выполнения данной выпускной квалификационной работы было разработано консольное приложение для организации создания и управления Android-проектом из командной строки с целью снижения требований к мощности устройств с любым из доступных средств сборки, либо вообще без него.
Для достижения поставленной цели были выполнены следующие задачи:
1) разработан интерфейс: определены входные точки в приложение, требуемое поведение и отображение - была использована библиотека docopt для оперативного забора параметров командной строки, определены команды и их параметры (см. приложение Б);
2) разработана архитектура: определено внутреннее устройство, согласованность отдельных компонентов приложения, степень расширяемости и поддерживаемости - было решено разделить приложение на 4 модуля (компонента), отвечающих каждый за один вариант использования, структура каждого модуля также является модульной, что является условием расширяемости проекта;
3) реализован компонент, ответственный за проверку наличия в системе необходимых зависимостей;
4) реализован компонент, ответственный за создание проекта;
5) реализован компонент, ответственный за создание и запуск эмулятора;
6) реализован компонент, ответственный за сборку и запуск проекта.
Разработанное консольное приложение обладает следующими функциональными возможностями:
• проверка наличия в системе необходимых компонентов;
• автоматическое создание проекта с возможностью выбора базового сборщика или полного отказа от него;
• создание и запуск эмулятора;
• сборка проекта и запуск проекта на устройстве (эмулятор).
В дальнейшем планируется:
• создать API для свободного расширения функционала
приложения;
• создать возможность динамически подгружать плагины, тем
самым создать инструмент динамического расширения
функционала приложения;
• применить DI-framework для автоматического управления
зависимостями;
• реализовать компонент, позволяющий переносить содержимое
одного пакета в другой с автоматическим изменением
соответствующих инструкций в исходных файлах.
Результаты данной дипломной работы опубликованы в репозитории GitLab и находятся в открытом доступе по ссылке: http: //gititis .kpfu.m/T itov/ apm.



1. Количество пользователей мобильных устройств по всему миру с 2015 по 2020 гг [Электронный ресурс]. - URL: https://www.statista.com/statistics/274774/forecast-of-mobile-phone-users- worldwide/ (дата обращения: 20.06.2019 ).
2. Распределение пользователей различными мобильными
операционными системами в процентном соотношении [Электронный ресурс]. - URL: https://netmarketshare.com/operating-system-market-
share (дата обращения: 20.06.2019).
3. Официальная страница среды разработки Android Studio [Электронный ресурс]. - URL: https://developer.android.com/studio (дата обращения:
20.06.2019) .
4. Создание архитектуры программы или как проектировать табуретку
[Электронный ресурс]. - URL: https://habr.com/ru/post/276593/ (дата
обращения: 20.06.2019).
5. Используйте возможности языка Java 8 [Электронный ресурс]. - URL: https://developer.android.com/studio/write/java8-support (дата обращения:
20.06.2019) .
6. Android Gradle plugin release notes [Электронный ресурс]. - URL:
https://developer.android.com/studio/releases/gradle-plugin (дата
обращения: 20.06.2019).
7. Информация о плагине [Электронный ресурс]. - URL:
http: // simpligility. github. io/android-maven-plugin/ (дата обращения:
20.06.2019) .
8. Add Kotlin code [Электронный ресурс]. - URL: https://developer.android.com/studio/projects/add-kotlin (дата обращения:
20.06.2019) .
9. Add C and C++ code to Your project [Электронный ресурс]. - URL:
https://developer.android.com/studio/projects/add-native-code (дата
обращения: 20.06.2019).
10. Configure your build [Электронный ресурс]. - URL: https://developer.android.com/studio/build (дата обращения: 20.06.2019).
11. Building Android Apps with Apache Maven [Электронный ресурс]. -
URL: https://www.vogella.com/tutorials/AndroidBuildMaven/article.html
(дата обращения: 20.06.2019).
12. Create an Android project [Электронный ресурс]. - URL: https://developer.android.com/training/basics/firstapp/creating-project (дата обращения: 20.06.2019).
13. Hardware profile properties [Электронный ресурс]. - URL: https://developer.android.eom/studio/mn/managing-avds#hpproperties (дата обращения: 20.06.2019).
14. Application Fundamentals [Электронный ресурс]. - URL:
https://developer.android.com/guide/components/fundamentals (дата
обращения: 20.06.2019).
15. About Android App Bundles [Электронный ресурс]. - URL: https://developer.android.com/guide/app-bundle (дата обращения:
20.06.2019) .

Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ