Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Программное конструирование комплекса мобильных приложений по оказанию автомобильной помощи на дорогах



В данном разделе проводится описание структуры программного средства, описание классов и методов классов, которые реализуют необходимый функционал.

Обоснование выбора языка и среды разработки

Разрабатываемое программное средство является мобильными приложениями для операционной системы Android. Для написания удобных в использовании приложений, обладающих плавным интерфейсом, для данной операционной системы был выбран язык программирования Java [1].

Java – объектно-ориентированный язык программирования, разработанный компанией Sun MicroSystems. Язык Java подходит для широкого круга задач таких как создание веб-приложений, графических пользовательских приложений, игр и многого другого [2]. Java обладает большой стандартной библиотекой, обеспечивающей функциональность от стандартного ввода/вывода и сетевых протоколов до графических пользовательских интерфейсов. Также активно используется для создания мобильных приложений под операционную систему Android [3]. При этом программы компилируются в нестандартный байт-код, для использования их виртуальной машиной Dalvik (начиная с Android 5.0 Lollipop виртуальная машина заменена на ART) [4]. Для такой компиляции используется дополнительный инструмент, а именно Android SDK.

Для написания приложений для операционной системы Android была выбрана интегрированная среда разработки Android Studio. Android Studio, основанная на программном обеспечении IntelliJ IDEA от компании JetBrains является официальным средством разработки Android приложений [5].

Android Studio обладает рядом удобных в использовании функций, таких как [6]:

· расширенный редактор макетов;

· способность работать с UI компонентами при помощи Drag-and-Drop;

· рефакторинг кода;

· cтатический анализатор кода, позволяющий находить проблемы производительности, несовместимости версий и другое;

· шаблоны основных макетов и компонентов Android.

В данной работе также использованы библиотека Maps Android API для работы с картографическим сервисом Google Maps и библиотек Retrofit 2 для создания и отправки запросов на сервер [7].

 

Классы приложения для водителя автомобиля

 

Класс NavigationDrawerActivity

Данные класс отвечает за отображение выдвигающегося бокового меню приложения.

Поля класса NavigationDrawerActivity представлены в таблице 3.1

Таблица 3.1 – Поля класса NavigationDrawerActivity

Название Тип Описание
fragmentTransaction FragmentTransaction Используется для выполнения транзакций фрагментов
isMapAttached boolean Хранит состояние карты
active boolean Хранит состояние активити
sharedPreferences SharedPreferences Используется для изменения настроек приложения
notifiationManager NotifiationManager Используется для работы с уведомлениями в строке состояния

 

Методы класса NavigationDrawerActivity представлены в таблице 3.2.

Таблица 3.2 – Методы класса NavigationDrawerActivity

Название Входные параметры Возвращаемое значение Описание
onNavigationItemSelected MenuItem item boolean Срабатывает при выборе пункта меню
changeUI Без параметров void Меняет отображаемый экран, если GPS модуль выключен
exit Без параметров void Выход из аккаунта

Класс CompaniesAdapter

Данный класс отвечает за связывание данных с интерфейсом для отображения списка компаний, которые могут принять заказ.

Поля класса CompaniesAdapter представлены в таблице 3.3.

Таблица 3.3 – Поля класса CompaniesAdapter

Название Тип Описание
items List<Companies> Список моделей компаний
context Context Контекст активити
sharedPreferences SharedPreferences Используется для изменений настроек приложения
broadcastReceiver BroadcastReceiver Обработчик событий для списка

Методы класса CompaniesAdapter представлены в таблице 3.4.

Таблица 3.4 – Методы класса CompaniesAdapter

Название Входные параметры Возвращаемое значение Описание
1 2 3 4
onReceive Context context, Intent intent void Обрабатывает события для списка
onCreateViewHolder ViewGroup parent, int viewType ViewHolder Связывает элементы интерфейса с данным
       

Окончание таблицы 3.4

1 2 3 4
onBindViewHolder ViewHolder holder, int position void Заполняет данными каждый элемент списка

Класс MainMapFragment

Данный класс отвечает за работу с отображаемой картой. Является наследником класса Fragment. Реализует всю логику работы с геолокацией и определение текущего местоположения, отрисовку объектов на карте и изменение положения камеры карты [8].

Поля класса MianMapFragment представлены в таблице 3.5.

Таблица 3.5 – Поля класса MainMapFragment

Название Тип Описание
1 2 3
map GoogleMap Ссылка на объект отображаемой карты
googleApiClient GoogleApiClient Объект настрое для взаимодействия с Play Services
locationRequest LocationRequest Объект настроек информации о местоположении
isLocated boolean Хранит состояние местоположения пользователя
find_me_BTN ImageButton Кнопка по определению текущего местоположения
fragmentTransaction FragmentTransaction Используется для выполнения транзакций фрагментов
sharedPreferences SharedPreferences Используется для изменения настроек приложения
client Client Ссылка на объект Clinet, который хранит информацию о клиенте
     

Окончание таблицы 3.5

1 2 3
worker Worker Ссылка на объект Worker, который хранит информацию об операторе эвакуатора
zoom float Уровень зума камеры карты
broadcastReceiver BroadcastReceiver Обработчик событий для карты

Методы класса MainMapFragment представлены в таблице 3.6.

Таблица 3.6 – Методы класса MainMapFragment

Название Входные параметры Возвращаемое значение Описание
1 2 3 4
onMapReady GoogleMap googleMap void Вызывается при полной загрузке карты
checkPermission Без параметров boolean Проверяет разрешения для работы с геолокацией
checkPlayServices Без параметров boolean Проверяет доступны ли Play Services на устройстве
createLocationRequest Без параметров void Задает настройки работы с данными о местоположении
startLocationUpdates Без параметров void Запускает сервис по получению информации о текущем местоположении
stopLocationUpdates Без параметров void Останавливает сервис по получению информации о местоположении
getMyLocation Без параметров Location Возвращает текущее местоположение
       

Окончание таблицы 3.6


Поделиться:



Последнее изменение этой страницы: 2019-04-19; Просмотров: 186; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.02 с.)
Главная | Случайная страница | Обратная связь