Научная статья на тему 'МОБИЛЬНОЕ ПРИЛОЖЕНИЕ КАК СПОСОБ РЕШЕНИЯ ПРОБЛЕМ МИКРОПРЕДПРИЯТИЙ И МАЛЫХ ПРЕДПРИЯТИЙ'

МОБИЛЬНОЕ ПРИЛОЖЕНИЕ КАК СПОСОБ РЕШЕНИЯ ПРОБЛЕМ МИКРОПРЕДПРИЯТИЙ И МАЛЫХ ПРЕДПРИЯТИЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
19
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ANDROID / МОБИЛЬНОЕ ПРИЛОЖЕНИЕ / ПРОГРАММИРОВАНИЕ / ПОСТРОЕНИЕ МАРШРУТА / НАЛАЖИВАНИЕ КОММУНИКАЦИИ / MOBILE APPLICATION / PROGRAMMING / ROUTE BUILDING / NETWORKING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ивлиева И.А., Глебов С.И.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MOBILE APPLICATION AS A WAY TO SOLVE THE PROBLEMS OF MICROENTERPRISES AND SMALL ENTERPRISES

This article discusses the solution to the problems of microenterprises and small enterprises for the sale and delivery of goods by creating an application. The analysis of existing analogues. The necessity of creating an application is justified.

Текст научной работы на тему «МОБИЛЬНОЕ ПРИЛОЖЕНИЕ КАК СПОСОБ РЕШЕНИЯ ПРОБЛЕМ МИКРОПРЕДПРИЯТИЙ И МАЛЫХ ПРЕДПРИЯТИЙ»

УДК 004.5

Ивлиева И.А.

3 курс

факультет «Информационных систем и технологий»

Глебов С.И.

3 курс

факультет «Информационных систем и технологий» Поволжский государственный университет телекоммуникаций и

информатики научный руководитель: Часов Е.А.

старший преподаватель Россия, г. Самара

МОБИЛЬНОЕ ПРИЛОЖЕНИЕ КАК СПОСОБ РЕШЕНИЯ ПРОБЛЕМ МИКРОПРЕДПРИЯТИЙ И МАЛЫХ ПРЕДПРИЯТИЙ

Аннотация: В данной статье рассматривается решение проблем микропредприятий и малых предприятий по продаже и доставке товаров при помощи создания приложения. Производится анализ существующих аналогов. Обосновывается необходимость создания приложения.

Ключевые слова: Android, мобильное приложение, программирование, построение маршрута, налаживание коммуникации.

Ivlieva I.A.

3 course, faculty «Informatic System and Technologies» Volga State University of Telecommunications and Informatics

Russia, Samara Glebov S.I.

3 course, faculty «Informatic System and Technologies» Volga State University of Telecommunications and Informatics

Russia, Samara Scientific director: Chasov E.A.

Senior Lecturer

MOBILE APPLICATION AS A WAY TO SOLVE THE PROBLEMS

OF MICROENTERPRISES AND SMALL ENTERPRISES

Annotation: This article discusses the solution to the problems of microenterprises and small enterprises for the sale and delivery of goods by creating an application. The analysis of existing analogues. The necessity of creating an application is justified.

Keywords: Android, mobile application, programming, route building, networking.

ВВЕДЕНИЕ

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

Зачастую успешность торгового бизнеса зависит от своевременной и

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

Ещё одним важнейшим аспектом торговли является взаимодействие между участниками сделки. Общение помогает всем сторонам получить желаемый результат наиболее эффективным способом.

Ежедневно микропредприятия и малые предприятия сталкиваются с задачами по доставке товаров и взаимодействие с покупателями. Продавец не всегда может построить эффективный маршрут, что приводит к потере времени и вследствие этого клиентов.

АНАЛИЗ СУЩЕСТВУЮШИХ ПРИЛОЖЕНИЙ

Для сравнения были выбраны пять наиболее популярных приложений по продаже и покупке товаров в Play Маркет.

Название Оценка Количество скачиваний Pandao 4.8 >10 млн Joom 4.7 >100 млн Юла 4.7 >50 млн Авито 4.2 >50 млн КупиПродай 4.6 >100 тыс

Построение маршрута для доставки товара

Связь с продавцом + + +

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

Юла, Авито и КупиПродай имеют возможность общаться с продавцом напрямую, а в Joom и Pandao для связи с продавцом нужно обратиться в техподдержку.

ПРОЕКТИРОВАНИЕ ПРИЛОЖЕНИЯ

Данное приложение было разработано под операционную систему Android с использованием языка программирования Java.

Android - быстро развивающаяся платформа, имеющая множество пользователей по всему миру. На конференции для разработчиков Google I/O 2019 компания объявила, что во всём мире более 2,5 миллиардов активных устройств работает на операционной системе Android. РАЗРАБОТКА ГРАФИЧЕСКОГО ИНТЕРФЕЙСА

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

В каждом макете должен быть один корневой элемент, который наследуется от View или ViewGroup. Далее при добавлении объектов макета или виджетов, формируется иерархия представления. Ниже представлен XML макет (рис. 1), который пользователь увидит при первом включении приложения.

В данном макете используется CoordinatorLayout, в котором размещаются две кнопки в LinearLayout.

<?xml version="1.0" encoding='rutf-8"?>

<android.support.constraint.ConstraintLayout xmlns:android="http://schemes.android.com/apk/res/andro xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:1ayout_width="ma t chjparent" android:1ayout_he ight="ma tchjparent"

app:1ayout_behavior="@ s tring/appbar_s crol1ing_view_behavior" tools:context=".ProfileSelectionActivity" tools: 3howIn=n@layout/activityjriaiji2"> <LinearLayout

android:layout_width="wrap_content"

android: layout_height="wrap_content1'

android:orientation=" ve rti cal"

app:1ayout_cons traintBottom_toBottomOf="parent"

app: layout_constraintEjid_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent">

<Button

android:id="@+id/cus tome r_button" android:layoutjfidth="matchj?arentn android:layout_height="match_parent" android:text="Customer" /> <Button

android:id="@+id/se1le r_button" android:layout_width="matchj?arent" android:layout_height="match_parent" android :text=1'Seller" /> </LinearLayout> K/android.support.constraint.ConstraintLayout>

Рис. 1 Внешний вид и XML файл первой страницы приложения

Так же в приложении присутствуют множество других макетов. Например, регистрации пользователей и входа в профиль (рис. 2). Здесь используется ViewPager для реализации вкладок для навигации

между страницами с помощью TabLayout.

Для отображения списка товаров (рис. 3) используется RecyclerView. Данный виджет является более продвинутым и гибким вариантом ListView. Для работы RecyclerView требуется LayoutManager и Adapter.

<?xml version="1.0" encoding="utf-8"?>

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas. android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android: layout_width="ma tch^arent" android:1ayout_he ight="match_pa rent"

app: 1 ayout_behavior=" @ s t r ing/ appbar_s cr ol 1 ing_view_behavior" tools:context=™.SellerActivity™ tools:showIn="@layout/app_bar_seller"> <android.support.v7.widget.RecyclerView android:id="@+id/re cycle rView_j>r oduct ™ android:layout_width="match_parent" android:layout_height="match_pareDt" />

<android.support.design.widget.FloatingActionButton

android: id="@+id/activity_main_fb_add"

android:layout_width="wrap_content" android: layou^height^'wrapj^ontent" android:layout_margin="20dp" android:layout_marginEnd="8dp" android:layout_marginRight="Sdp" android:1ayout_marginBottom="Sdp" android:tint="@android:color/white" app:1ayout_cons traintBottom_toBottomOf="pa rent" app: 1 ayout_cons traintEnd_toEndOf=" @+id/re cycle rView_product" app: srcCompat= " @android:drawable/ic_input_add" /> </android.support.constraint.ConstraintLayout>

Грейпфрут o% весовой 1 кг

ID 1 Quantity: 100

Price: 119,93 P

Карандаши s% цветные аква...

ID' 2 Quantity: 1452

Price: 361,95 P

Фарш бвраний 15% 400 rp

ID Э Quantity: 258

Price: 229,99 P

Рис. 3 Внешний вид и XML файл списка товаров

При нажатии на элемент из списка будет отображаться страница с описанием товара (рис. 4).

Рис. 4 Внешний вид экрана с описанием товара Так же в профиле у продавца есть вкладка с картой (рис. 5), на которой строится оптимальный маршрут для доставки товаров.

ш

L / \

Samara

Unfff Я*1И*"ПГТ

ЯШ

>WUhskly

rim

Рис. 5 Внешний вид экрана с картой

ОПИСАНИЕ РАЗРАБОТАННОГО ПРИЛОЖЕНИЯ Программа содержит семь Activity и два Fragment. При первом входе в приложение пользователь выбирает кем он является (покупателем или продавцом). Для этого на кнопки были установлен метод setOnClickListener и создан экземпляр View.OnClickListener с методом onClick() в котором обрабатывается логика нажатия на кнопку (рис. 6). При нажатии на customerButton или sellerButton происходит переход на компонент входа в систему.

Button cuatomerButton = findViewById(R. id. cus^ocier button) ; Button aellerButton = findViewByld( R.id.; cua tome rButton. ae tOnCl i ckLi a tene r( new View. OnCl i ckLi a tene r() { @Override

public void onü'lick (View view) {

Intent intent = new Intent( package Context ProfileSelectionActivity.this,

LoginAndRegiatrationActivity.claaa); a t a rtAct ivi ty(i ntent);

}

aellerButton.aetOnCli ckLi a tene r(new View.OnCli ckLi a tene г() { OOverride

public void on£'lick(View view) {

Intent intent = new Intent( packageContext ProiileSelectionActivity.thia,

LoginAndRegiatrationActivity.claaa); a t a rtAct ivi ty(i ntent);

1

Рис. 6 Фрагмент кода в котором обрабатывается логика нажатия на кнопку

Далее происходит соответствующая регистрация и вход в приложение.

После входа в свой профиль пользователь видит список товаров. В случае продавца это перечень его продукции. Также у него будет доступны функции добавления и редактирования товара. А покупатель увидит список продукции всех продавцов с возможностью покупки этих товаров.

Для работы RecyclerView требуется создать три класса: Product, ProductAdapter, ProductViewHolder.

Product содержит информацию о конкретном продукте. Сущность товара имеет: id, название, описание, цену, количество, скидку, владельца, изображение.

ProductAdapter используется для того что бы сообщить RecyclerView какие данные следует отображать. Этот класс наследуется от абстрактного класса RecyclerView.Adapter, который определяет три метода:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

• onCreateViewHolder: возвращает объект ProductViewHolder, который будет хранить данные объекта Product;

• onBindViewHolder: выполняет привязку объекта ProductViewHolder по определенной позиции;

• getItemCount: возвращает количество объектов в списке.

ProductViewHolder внутренний класс ProductAdapter, который

наследуется от RecyclerView.ViewHolder. Он хранит информацию необходимую для отрисовки ячеек списка.

Далее нужно показать RecyclerView как должны располагаться элементы. Для этого вызывается метод setLayoutManager с использованием LinearLayoutManager (рис. 7).

LinearLayoutManager mLayoutManager = new LinearLayoutManager( context this); recyclerView.setLayoutManagerfmLayoutManager);

Рис. 7 Фрагмент кода с использованием LinearLayoutManager

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

Для отображения вычисленного маршрута используется класс MapRoute. Сперва нужно объявить экземпляр RouteManager, который ответственен за вычисление маршрута из RoutePlan, с RouteManager.Listener для мониторинга хода выполнения расчета и запуска соответствующих методов.

Чат между покупателем и продавцом позволит минимизировать ошибки во время отгрузки и доставки товаров, а также наладить связь между всеми участниками сделки.

ЗАКЛЮЧЕНИЕ

В ходе выполнения данной работы был создан прототип приложения для решения проблем малого бизнеса. Был поведен анализ существующих программ, после чего было принято решение о создании приложения, которое не будет иметь недостатки рассмотренных программ. Разработка данного прототипа позволила решить ряд проблем:

• построение наиболее быстрого и точного маршрута;

• налаживание коммуникации между всеми участниками сделки.

Таким образом, можно сделать вывод о том, что цель, была достигнута.

Использованные источники:

1. Documentation for app developers. [Электронный ресурс]. Режим доступа: https://developer.android.com/docs

2. Route Calculation for Walking or Driving. [Электронный ресурс]. Режим доступа: https ://developer.here. com/documentation/android-starter/dev_guide/topics/routing-starter.html

i Надоели баннеры? Вы всегда можете отключить рекламу.