1. ВВЕДЕНИЕ 2
2. ОСНОВНАЯ ЧАСТЬ 5
2.1 OC ANDROID 5
2.2 ПРОЕКТИРОВАНИЕ ИНТЕРФЕЙСА 5
2.3 АРХИТЕКТУРА ПРИЛОЖЕНИЯ 10
2.3.1 MVP 11
2.4 ГРАФИЧЕСКИЙ РЕДАКТОР 12
2.4.1 БИБЛИОТЕКА MARVINJS 13
2.4.1.1 СТРУКТУРА БИБЛИОТЕКИ MARVINJS 14
2.4.2 MARVINVIEW 14
2.4.3 ИНТЕГРАЦИЯ MARVINJS НА ЯЗЫКЕ JAVA 15
2.4.3.1 WEBAPPINTERFACE 16
2.4.4 ИНТЕГРАЦИЯ MARVINJ S(KOTLIN) 16
2.5 РАЗРАБОТКА ПРИЛОЖЕНИЯ 18
2.5.1 ВЫБОР СРЕДЫ РАЗРАБОТКИ 18
2.5.2 ИСПОЛЬЗУЕМЫЕ БИБЛИОТЕКИ 21
2.5.3 СЕРВЕРНАЯ ЧАСТЬ ПРИЛОЖЕНИЯ 23
2.5.4 РЕАЛИЗАЦИЯ ВЗАИМОДЕЙСТВИЯ С СЕРВЕРОМ 24
2.5.5 ОТСЛЕЖИВАНИЕ ЗАПРОСОВ ЧЕРЕЗ STETHO 25
2.5.6 ФУНКЦИОНАЛ ПРИЛОЖЕНИЯ 28
2.6 ТЕСТИРОВАНИЕ РЕЗУЛЬТАТОВ 33
3. ЗАКЛЮЧЕНИЕ 35
4. ЛИТЕРАТУРА 36
5. ПРИЛОЖЕНИЕ
В рамках данной дипломной работы было разработано мобильное приложение, которое позволяет просматривать актуальные задачи по моделированию химических связей, выполнять самостоятельные работы, а так же проводить химические эксперименты по средствам моделирования химических связей и реакций через графический редактор, с последующей передачей данных, полученных от редактора, для обработки их на сервере приложения. Графический редактор мобильного ассистента был вынесен в отдельный модуль и относится к приложению как отдельная библиотека. Данное решение увеличивает функционал редактора, а так же улучшает архитектуру приложения и уменьшает зависимость редактора от конкретного приложения до нуля. Для взаимодействия с сервером использовалось предоставляемое api. Приложение, разрабатываемое в рамках данной дипломной работы, необходимо для облегчения обработки экспериментов в Химическом институте КФУ.
Актуальность: Эксперименты над химическими элементами и их связями проходят вдали от рабочего места студента или работника химического института казанского федерального университета. При проведении эксперимента у работников нет возможности переносить из комнаты в комнату компьютер, поэтому им приходится прерывать эксперимент для занесения данных в программу через которую идет процесс обработки данных. Для повышения производительности, а так же удобства появилась потребность в разработки приложения под ОС Android. С помощью данного приложения пользователь может получить доступ к своей учетной записи на сайте http://cimm.kpfu.ru, где он может получить список задач и их описание. Кроме этого пользователь может провести теоретический эксперимент через графический редактор приложения и произвести моделирование данных. После чего он, пользователь, сможет получить результат данного эксперимента.
Целью дипломной работы является адаптация библиотеки MarvinJS для работы с мобильным приложением под OC Android и использование библиотеки для реализации мобильного ассистента для работы с системой моделирования химических реакций.
Задачи дипломной работы:
• Показать особенности программирования для ОС Android
• Разработать демонстрационное приложение, показывающее особенность отрисовки визуальных элементов на экранах в ОС Android
• Показать возможность работы с api сервера
• Адаптировать библиотеку MarvinJS для работы с мобильным приложением под OC Android.
• Обработать полученные данные из библиотеки.
• Передать данные полученные из библиотеки MarvinJS на сервер для их обработки.
• Разработать механизм получения данных из JavaScript для последующих преобразований элементов в ОС Android
• Продемонстрировать полученный результат
Объект библиотека MarvinJS.
Предметом является интеграция сторонней библиотеки MarvinJS в мобильное приложение под ОС Android, а так же разработка мобильного приложения.
Структура работы: данная дипломная работа состоит из введения, основной части, заключения, списка используемой литературы и приложения.
В данной выпускной квалификационной работе была адаптирована библиотека MarvinJS для работы с мобильным приложением под OC Android и разработано приложение мобильного ассистента для работы с системой моделирования химических реакций. Показан процесс интеграции библиотеки MarvinJs на языке программирования JavaScript в приложения для ОС Android и необходимость использования данного функционала как библиотеку в ОС Android при процессе разработки был использован паттерн MVP. Проведена работа по разработке графического редактора как отдельного модуля проекта для расширения возможности его применения. Кроме этого была проведена работа по разработки приложения мобильного ассистента для показа работы данного редактора и взаимодействия с сервером, а также готовым к последующей выкладки в магазин приложений.
В процессе написания квалификационной работы, а также разработке приложения были выявлены новые подходы по тестированию и отслеживания ошибок на различных устройствах, используя функционал библиотеки Stetho, а так же помощью написания unit тестов для каждого модуля приложения.
В ходе разработки редактора и соединения с сервером были выявлены некоторые недочеты по получению данных из библиотеки MarvinJs в JAVA код мобильного приложения под OC Android, а так же ошибки связанные с получением данных с сервера, которые были решены различными способами для обеспечения наилучшего качества приложения. Все цели и задачи выпускной квалификационной работы были выполнены. По завершению квалификационный работы было представлено приложение с возможностью авторизации через электронную почту и пароль пользователя, просмотр доступных задач конкретного пользователя, а так же создание, редактирование, просмотр экспериментов и профиля пользователя мобильного ассистента. Также был представлен графический редактор для моделирования химических элементов и связей между ними, который выполнен как отдельный модуль для улучшения архитектуры модуля и оптимизации кода.