Разработка мобильного приложения CityQuest на базе операционной системы Android
Секция: Технические науки
![](https://nauchforum.ru/themes/mix_and_match/images/logo.jpg)
XLIV Студенческая международная заочная научно-практическая конференция «Молодежный научный форум: технические и математические науки»
Разработка мобильного приложения CityQuest на базе операционной системы Android
В настоящее время каждый человек владеет мобильным гаджетом, который содержит множество приложений, увеличивающие функционал устройства. Будь-то файловый менеджер или мессенджер (Viber, WhatsUp). Без них уже невозможно представить себе современное устройство связи. Существует множество разработчиков приложений, а их продукцию легко могут установить пользователи через различные площадки (PlayMarket, AppStore).
Приложение CityQuest используется для отображение подробной информации о квестах просмотра их местоположения на карте города и онлайн бронирования и оплата.
Данная статья отражает реализацию функциональных особенностей разрабатываемого приложения CityQuest и рассказывает о способе их реализации.
Обмен данных сообщений происходит путем конвертации логина (телефонного номера) и пароля в представление JSON-объектов.
JSON (JavaScript Object Notation) – простой формат обмена данными, удобный для чтения и написания как человеком, так и компьютером. Он основан на подмножестве языка программирования JavaScript, определенного в стандарте ECMA-262 3rd Edition - December 1999 [3].
Использование JSON-объектов для обмена сообщений сервера с приложением, разберем это на примере приложение CityQuest. При вводе данных регистрации (номера телефона и пароля) в приложение, создается JSON-объект, представленный на Рисунке 1, в виде HashMap, для отправки сообщения на сервер. При дальнейшей отправки данные кодируется «application/x-www-form-urlencoded». Это формат для кодирования пар ключ-значение с возможностью дублирования ключей.
Рисунок 1. Создание HashMap
В формате JSON с сервера предаётся id-заведения, название, подробная информация и время бронирование сеанса (свободное и занятое).
Рисунок 2. Принятый массив данных JSON объектов
В разрабатываемом приложение используются Google Maps API для отображения заведений на карте местности.
Чтобы использовать Google Maps Android API, вам необходимо зарегистрировать свой проект приложения в Google API Console и получить ключ Google API, который вы можете добавить в свое приложение.
Ключ API используется для доступа к серверу Google Maps с ограничений, бесплатный доступ позволяет совершать до 2500 запросов и 50 запросов в секунду.
Свой ключ для каждого проекта следует указать в AndroidManifest.xml (вместо синего поля указывается ключ) как на Рисунке 3.
Рисунок 3. Файл AndroidManifest.xml
Приложение создает представление карты, из полученной ранее данных с сервера расставляет маркеры на отображенном участке местности.
Рисунок 4. Отображение на карте в приложение CityQuest
В коде программы мы наблюдаем как создается View, далее мы фиксируем камеру при создании, в следствии того что все объекты находят в городе Красноярске фиксируем ее на координатах 56.0160597 градусах с. ш. и 92.89163589 в. д. чтобы захватывало весь город выставляем 11 масштаб. Всё это отображается на Рисунке 5, в аргументах к функции CameraUpdateFactory.
Рисунок 5. Отображение карты
Библиотека Яндекс.Деньги позволяет проводить операции с банковскими картами (Visa, MasterCard и Maestro), электронными кошельками (Яндекс.Деньги, Qiwi и WebMoney). Вы можете использовать API для внедрения в свое приложение. Данную функцию рассмотрим на примере ее реализации в приложение CityQuest.
При оплате необходимо сообщить номер карты и сумму, далее осуществляется переход в следующее Activity для подтверждения операции путем ввода данных карты.
Рисунок 6. Реализация внедрения API
Приложение является клиентской программой, работающей с внешней базой данных, находящейся на сервере. Реализованное приложение находится на этапе тестирование, оно отвечает всем требованием заказчика. В статье представлены функции, которые своей реализацию позволяют ускорить бизнес-процесс.
![](/sites/default/files/publ_rinc.png)