Зайцева Дарья Васильевна Клиентское приложение на базе ос android для туристической информационной системы дипломная работа




Дата04.12.2016
Размер1.66 Mb.
Просмотров588
Скачиваний1
ТипДипломная работа

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Математико-механический факультет
Кафедра информатики
Зайцева Дарья Васильевна
Клиентское приложение на базе ОС Android для
туристической информационной системы
Дипломная работа
Допущена к защите.
Зав. кафедрой: д.ф.-м.н., проф. Косовский Н.К.
Научный руководитель: к.ф.-м.н., доц. Кияев В.И.
Рецензент: к.ф.-м.н., доц. Кознов Д.В.
Санкт-Петербург
2013

2
SAINT-PETERSBURG STATE UNIVERSITY
Mathematics&Mechanics Faculty
Chair of Informatics
Daria Zaytseva
Android platform based client application
for tourist informational system
Graduation Thesis
Admitted for defence.
Head of the chair:
D. of Phys. and Math, Sc., Prof. Nikolai Kossovski
Scientific supervisor:
C. of Phys. and Math. Sc., Assoc. Prof. Kiyaev Vladimir
Reviewer:
C. of Phys. and Math. Sc., Assoc. Prof. Koznov Dmitry
Saint-Petersburg
2013

3
Оглавление

Введение ........................................................... 4
Глава I. Международные аспекты коммуникации в современном обществе .... 8 1.1 Культурный обмен и его роль в современном мире ................... 8 1.2 Международное студенческое удостоверение ISIC ................... 9 1.3 Роль приложений для платформы Android в сфере коммуникации современного общества ............................................ 10
Глава II. Требования к системе ........................................ 17 2.1 Обзор имеющихся решений ..................................... 17 2.2 Уточнение требований к системе ................................. 20
Глава III. Программное приложение для ОС Android ..................... 22 3.1 Архитектура и реализация ...................................... 22 3.2 Обоснование выбора технологий Java и SQLite ..................... 28 3.3 Описание функциональности ....................................
30 3.4 Тестирование ................................................. 33 3.5 Возможные варианты развития программного приложения ........... 34
Заключение ....................................................... 35
Список литературы ................................................. 36
Приложение A ..................................................... 37
Приложение B ..................................................... 38


4
Введение
Мобильные телефоны давно перестали быть чем-то необычным и великолепно справляются со своей функцией – являются средством коммуникации между людьми. При этом, недавно появившиеся, но уже прочно вошедшие в нашу жизнь смартфоны настолько функциональны, что трудно сказать, чего они не умеют: это и плеер, и фотоаппарат, и возможность использования Интернет-ресурсов, и прочее. По сути, все смартфоны стали небольшой копией компьютера, который постоянно можно иметь при себе.
В наше время все больше и больше смартфонов, коммуникаторов, планшетных ПК и других видов устройств, удобных для использования как в повседневной жизни, так и в заграничных поездках в частности, выпускаются на базе ОС Android. Каковы же причины распространения данной операционной системы?
Во-первых, Android поддерживает большое количество устройств разных производителей. Во-вторых, Android характеризуется высокой доступностью средств разработки. Средства разработки для платформы Android бесплатны, в то время как разработка, к примеру, под iPhone (от компании Apple) требует немалых начальных финансовых вложений. Кроме всего вышеперечисленного, преимуществом ОС Android является наличие бесплатных библиотек для работы со сторонними ресурсами (Yandex MapKit, Google Map API, др.), в то время как для Windows Phone Mobile такие библиотеки не распространены [1].
В рамках данной дипломной работы будет описано создание туристической информационной системы на базе ОС Android, ориентированной, в частности, на студенческий туризм. Указанные выше преимущества обуславливают массовость и широкое распространение современных устройств на базе
Android, оснащенных различными функциями и приложениями, делающими туризм и отдых заграницей максимально удобными. Ориентированность на

5 студенческий туризм объясняется тем, что студенты в подавляющем большинстве являются обладателями и пользователями современных смартфонов, планшетных ПК и других карманных устройств.
Сформулируем основные аспекты туризма с точки зрения использования информационных технологий.
Двадцать первый век по праву считается веком информационных технологий. Во многих сферах жизни без них невозможно обойтись. Сфера туризма не является исключением. В наши дни для того, чтобы комфортно чувствовать себя в чужом городе, стране, на чужом континенте, достаточно иметь при себе современный коммуникатор. Каковы основные потребности туристов? Обзор достопримечательностей, участие в мероприятиях городского масштаба, планирование культурной программы (в том числе и финансовое), питание, проживание, в конце концов, шоппинг и приобретение сувениров на память – все это становится гораздо удобнее, когда под рукой есть смартфон и выход в интернет! Забронировать отель, посмотреть на карте интересующее место, подобрать ресторан и переконвертировать валюту – все это можно и удобно сделать в режиме онлайн. Вследствие этого, нельзя умалять важность туристической информационной поддержки в сети Интернет.
В частности, интернет-ресурсы Санкт-Петербурга – города, в котором каждый уголок центра является культурной достопримечательностью и имеет свою историю, – на мой взгляд, организованы недостаточно удобно. Для того, чтобы построить план прогулки, необходимо просмотреть сразу не один десяток сайтов. Однако Северная Столица ежегодно принимает множество туристов из разных уголков планеты, желающих посмотреть развод мостов, прогуляться по Летнему саду, сфотографировать вид на город с колоннады
Исаакиевского собора; известно также, что французы нередко посещают Санкт-
Петербург с целью зарегистрировать свои отношения в особняке на Английской набережной. Вопрос об организации необходимой и достаточной интернет-

6 поддержки туризма в Санкт-Петербурге становится все более и более актуальным.
Итак, Петербургские интернет-ресурсы по организации во многом проигрывают европейским. Так, например, официальный туристический портал финского города Лаапеенранты предоставляет возможность выбора интерфейса на разных языках, после чего пользователь может выбрать интересующую его область деятельности от обзора достопримечательностей до поиска кафе. В целом, сайт спроектирован с ориентацией на удобство работы с информацией пользователями из других стран.
В рамках сравнения с финскими интернет-порталами нельзя не сказать о предоставлении Лаппеерантой контактной информации с указанием телефона, адреса, карты, книги посетителей (для написания отзывов и предложений), а также раздела “часто задаваемые вопросы” для организации интерактивной связи между пользователями.
В соответствии с данной проблематикой, в рамках настоящей дипломной работы область интереса была ограничена вопросами студенческого туризма в
Санкт-Петербурге. Санкт-Петербург – город с богатым культурным наследием, что способствует активному привлечению туристов. По данным Российского
Союза Туриндустрии, в 2012 году Санкт-Петербург посетило 5,5 млн. туристов.
По итогам 2013 года количество туристов, посетивших Санкт-Петербург, может увеличиться на 3,6% по сравнению с 2012 годом и составить 5,7 млн. человек.
При этом, немалый процент туристов составляют студенты. Согласно прогнозу городского комитета по инвестициям и стратегическим проектам, до 2016 года туристический поток в Санкт-Петербург, увеличится до 7 млн. человек.
Что касается вопросов образования, то СПбГУ – один из крупнейших международных научно-образовательных центров. Партнерами СПбГУ являются более 230 зарубежных вузов из 60 стран мира. Наибольшее число вузов-партнеров из США, Германии, Франции, Финляндии, Японии,

7
Республики Корея и Китая. Университет участвует в международных научно- образовательных программах и выставках, является членом 13 крупных международных ассоциаций и активно сотрудничает с международными организациями. Таким образом, Северную Столицу посещает все большее количество иностранных студентов в рамках программ студенческого обмена, а также просто с целью отдыха и изучения культуры города.
Итак, на основе рассмотренных фактов можно сделать следующий вывод: в наше время как никогда актуальна организация интернет-поддержки туризма в
Санкт-Петербурге с уделением особого внимания разработке удобного в использовании интерфейса с необходимым набором функций.
Постановка задачи
Целью данной дипломной работы является создание программного продукта на базе ОС Android для использования туристами в качестве системы навигации по интересным местам Санкт-Петербурга с учетом скидок ISIC. Для этого в рамках дипломной работы должны были быть решены следующие задачи:

разработка графического пользовательского интерфейса с использованием карт Yandex;

создание базы данных туристических объектов СПб различных категорий;

реализация программного модуля для отображения объектов различных категорий на картах Yandex;

интеграция с системой навигации для построения маршрута текущего местоположения до выбранного пользователем объекта;

заполнение базы данных информацией об объектах с указанием скидок по карте ISIC.

8
Глава I. Международные аспекты коммуникации в современном
обществе
1.1 Культурный обмен и его роль в современном мире
С начала второй половины XX века и по сей день на базе чрезвычайно быстрого развития компьютерной техники на первые роли выдвигаются технологии, которые обслуживают информационные потребности общества – информационные технологии. Информация перестала быть просто словесной
«упаковкой» материального товара и «занавесом» для действий политиков – информация сама стала хорошо продаваемым товаром и основой для принятия ответственных деловых решений.
Постиндустриальная экономика, насыщающаяся информацией и соответствующими технологиями, стала наполняться новым содержанием, что послужило основанием для перехода в новое качество – экономику информационную.
Сегодня в информационном бизнесе сложились три крупнейших центра:
США, Япония и Западная Европа, между которыми и разворачивается вся конкурентная борьба. Одной из главных причин интенсификации мировой конкуренции является распространение спроса на конкретные виды информационных технологий в мировом масштабе. Глобализация затрагивает все сферы информационных технологий, в том числе и разработку мобильных приложений. Процесс глобализации необратим.
На современном этапе развития общества с точки зрения информационных технологий можно выделить его основные критерии.

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

Социальный: информация выступает в качестве важного стимулятора

9 изменения качества жизни, формируется и утверждается
«информационное сознание» при широком доступе к информации.

Экономический: информация составляет ключевой фактор в экономике в качестве ресурса, услуг, товара, источника добавленной стоимости и занятости.

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

Культурный: признание культурной ценности информации посредством содействия утверждению информационных ценностей в интересах развития отдельного индивида и общества в целом [2].
1.2 Международное студенческое удостоверение ISIC
При поддержке ЮНЕСКО в 1969 году была учреждена Ассоциация
Международного Студенческого Удостоверения ISIC (International Student
Identity Card), главная цель которой – содействовать развитию студенческого туризма, образовательных и культурных обменов, поощрять распространение знаний о разных странах и культурах и, тем самым, способствовать укреплению взаимопонимания между народами. Ассоциация ISIC – одна из пяти членских ассоциаций, входящих в Международную Конфедерацию Студенческого
Туризма ISTC (основана в 1949 г.). Основная задача удостоверения ISIC – служить интересам студентов и объединений учащихся и обеспечивать всемирное «положение студента». В настоящее время ISIC распространяется в
98 странах мира и предоставляет свыше 20 тысяч скидок и льгот владельцам удостоверения. В 2001 году обладателями ISIC стали 4,5 млн. студентов из разных стран, свыше 50 тысяч из которых – российские студенты и школьники.

10
Функциональные возможности ISIC
1. Дисконтная карта (получение скидок от 5% до 100% на размещение в гостиницах, хостелах, на авиа- и ж/д билеты, городской транспорт, посещение музеев, театров, кинотеатров, выставок, проведение досуга в клубах, дискотеках, в ресторанах, кафе, получение скидок в магазинах и др.).
2. Доступ к международной бесплатной телефонной информационной службе «Help Line», в которую можно обратиться в случае возникновения юридических, медицинских и любых других видов проблем.
3. Карта доступа к международной льготной системе коммуникаций
ISIConnect (скидка до 80% на международные телефонные переговоры, голосовая почта по всему миру, виртуальный электронный сейф).
4. Является единственным широко используемым и официально зарегистрированным международным студенческим удостоверением личности.

Владельцами ISIC могут стать учащиеся общеобразовательных школ в возрасте от 12 до 18 лет, студенты и аспиранты дневных и вечерних отделений государственных и коммерческих учебных заведений. Стоимость удостоверения для России установлена Международной Конфедерацией
Студенческого Туризма и составляет 7 долларов США.
1.3 Роль приложений для платформы Android в сфере
коммуникации современного общества
Архитектура ARM: актуальность для ОС Android
ARM Ltd. (сокращение от Advanced RISC Machines) – британская корпорация, один из крупнейших разработчиков и лицензиаров архитектуры 32-

11 разрядных RISC-процессоров (ARM), ориентированных на использование в портативных устройствах. Что важно, сама ARM не производит микропроцессоры, а только занимается разработками и лицензирует собственную технологию третьим фирмам, которые, собственно, и занимаются промышленным производством чипов. ARM утверждает, что общий объем микропроцессоров, произведенных по их лицензии, превышает 2,5 миллиарда штук.
В 2007 году около 98 % из более чем миллиарда мобильных телефонов, продаваемых ежегодно, были оснащены по крайней мере одним процессором
ARM. По состоянию на 2009 на процессоры ARM приходилось до 90 % всех встроенных 32-разрядных процессоров. Эти процессоры имеют низкое энергопотребление, поэтому находят широкое применение во встраиваемых системах и доминируют на рынке мобильных устройств, для которых немаловажен данный фактор [3].
Основные факты о платформе Android
Ни для кого не секрет, что XXI век – это век информационных технологий. ИТ прочно вошли в нашу жизнь: они окружают нас повсюду. Как правило, человек, нажимающий педаль газа в своем автомобиле, может даже не догадываться, что за его движениями следят сотни датчиков и микропроцессоров, призванных облегчить ему жизнь, а зачастую и спасти ее. В современные машины производители встраивают все более и более замысловатые функции. Ввиду этого появилась необходимость удобного взаимодействия пользователя и всей окружающей инфраструктуры. Появилась необходимость в использовании некоего пульта управления электроникой.
Инженеры Apple, а затем и Google, нашли решение. Они создали операционную систему для телефонов, позволяющую с легкостью разрабатывать сторонние

12 приложения, начиная от возможности читать электронные книги с экрана мобильных телефонов и заканчивая управлением бытовой техникой в «умном доме».
Компания Google пошла дальше в своих амбициозных планах и создала открытую архитектуру Android. Android (Андроид) – портативная (сетевая) операционная система для коммуникаторов, планшетных компьютеров, электронных книжек, цифровых проигрывателей, наручных часов, нетбуков и смартбуков, основанная на ядре Linux. Изначально разрабатывалась компанией
Android Inc., которую затем купила Google.
Более 75 % смартфонов, проданных в третьем квартале 2012 года, были оснащены операционной системой Android. Теперь каждый разработчик электронного устройства имеет возможность переделать Android под свое устройство, таким образом гарантируя совместимость своего оборудования со сторонними приложениями для этой ОС. Это оказалось очень выгодно. Если до выхода
Android каждый производитель электронного устройства самостоятельно писал или покупал у кого-то операционную систему, теряя таким образом массу полезных программ, созданных программистами всего мира, то после выхода ОС Android перед производителями чаще встает вопрос, какую версию Android им нужно поддерживать.
Существенную роль сыграло появление Android и в коммуникации между людьми. Установка его на телефоны дала возможность с легкостью разрабатывать новые модели мобильных устройств, расширяя функционал – как телефонов, так и самой операционной системы. Появление программ, предназначенных для помощи пользователю в самых разных ситуациях
(например, существует приложение, использующее встроенные датчики для измерения углов поворота, скорости объекта и т.д.), привело к тому, что на сегодняшний день человеку, отправляющемуся в путешествие, достаточно просто иметь с собой мобильное устройство на ОС Android. Пользователю

13 предоставляются сервисы бронирования отелей, поиска авиабилетов, разнообразные программы-гиды, а специально подгружаемые карты служат для поиска и прокладки маршрута до пункта назначения. При использовании SIP- телефонии можно иметь коммуникации на междугородном и международном уровнях [4].
Все это, наряду с легкостью разработки приложений, делает рассматриваемую платформу одной из наиболее перспективных для коммуникации в современном обществе.
Конкуренты платформы Android
Если раньше рынок мобильных платформ делили как минимум 5-6 компаний (Symbian, Blackberry OS, Android, Palm, iOS, Bada и т.д.), то на текущий момент можно выделить только 2 основные платформы: iOS и Google
Android, которые делят около 90% всего рынка. Доля Google Android на четвертый квартал 2012 года достигла 75%, т.е. три из четырех смартфонов, работают под управлением мобильной платформы от Google. Ниже приведена таблица сравнения различных операционных систем (см. таблицу 1) и данные по различным версиям Android (см. таблицу 2). Cтатистика собрана за двухнедельный период на основе обращений к сервису Google Play [5].
Таблица 1. Мировые продажи смартфонов, по типам ОС, 1-й квартал 2012
ОС
Продажи в 2012г., тыс.
% рынка
Продажи в 2011г., тыс.
% рынка
Android
81 067,4 56,1 36 350,1 36,4 iOS
33 120,5 22,9 16 883,2 16,9
Symbian
12 466,9 8,6 27 598,5 27,7
Blackberry OS 9 939,3 6,9 13 004,0 13,0
Bada/Linux
3 842,2 2,7 1 862,2 1,9
Windows
2 712,5 1,9 2 582,1 2,6
Прочие
1 242,9 0,9 1 495,0 1,5
Суммарно
144 391,7 100,0 99 775,0 100,0

14
Таблица 2. Распределение версий ОС Android, на 1-е августа 2012
Название версии
Уровень API
Распределение
1.5 Cupcake
3 0.2%
1.6 Donut
4 0.5%
2.1 Eclair
7 4.2%
2.2 Froyo
8 15.5%
2.3 – 2.3.2 Gingerbread
9 0.3%
2.3.3 – 2.3.7 10 60.3%
3.1 Honeycomb
12 0.5%
3.2 13 1.8%
4.0 – 4.0.2 Ice Cream
Sandwich
14 0.1%
4.0.3 – 4.0.4 15 15.8%
4.1 Jelly Bean
16 0.8%
Инструментарий Android


Разработка приложений для платформы Android ведется преимущественно на языке Java. Для создания программ на языке Java необходимо специальное программное обеспечение. Самые последние версии этого ПО можно загрузить с официального сайта разработчика, Oracle Corporation. К этому программному комплексу относятся такие инструменты как JRE (Java Runtime Environment) и
JDK (Java Development Kit). Первый инструмент представляет собой среду выполнения – минимальную реализацию виртуальной машины, в которой запускается и выполняется программный код на Java. Второй инструмент – это в свою очередь целый набор инструментов, комплект разработчика приложений на языке Java. На самом деле, JRE также входит в состав JDK, равно как и различные стандартные библиотеки классов Java, компилятор javac, документация, примеры кода и разнообразные служебные утилиты. Весь этот набор распространяется свободно и имеет версии для различных ОС, поэтому любой может его скачать и использовать. В JDK не входит интегрированная среда разработки, предполагается, что её разработчик будет устанавливать

15 отдельно. Существуют многочисленные IDE для Java-разработки, например,
NetBeans, IntelliJ IDEA, Borland JBuilder и другие. Таким образом, прежде чем приступить к разработке приложения на базе ОС Android, необходимо подготовить инструментарий [6].
При разработке на базе ОС Android необходимо использовать среду Eclipse
IDE for Java Developers. На сайте компании Google можно найти и скачать SDK для своей платформы (см. рисунок 1).
Рис. 1. Android SDK

16
На сайте Yandex можно найти и скачать карты для работы с ними (см. рисунок 2).
Рис. 2 – Yandex map kit android
Выводы
Таким образом, невозможно отрицать, что в сфере информационных технологий вчерашние инновации – это сегодняшние привычные вещи. Чтобы идти «в ногу со временем», специалистам в этой сфере необходимо использовать концепцию постоянного обучения, и ключом к этому является своевременное освоение наиболее значительных, распространенных и перспективных технологий. Технологии разработки под ОС Android для планшетов и смартфонов относятся именно к таковым. На основании приведенных сведений о международных удостоверениях ISIC и современном рынке мобильных приложений можно сделать вывод о целесообразности разработки клиентского приложения на базе ОС Android для туристической информационной системы.

17
Глава II. Требования к системе
2.1 Обзор имеющихся решений
Google Play и его востребованность пользователями Android

Google
Play (предыдущее название – Android Market) – магазин приложений от компании Google, позволяющий владельцам устройств с операционной системой Android устанавливать и приобретать различные приложения.
Учётная запись разработчика, которая даёт возможность публиковать приложения, стоит $25. Платные приложения могут публиковать разработчики не из всех стран. В Google Play можно найти много полезных и разнообразных приложений. В магазине присутствуют платные и бесплатные приложения.
На Google play можно найти приложения по следующим тематикам:

Бизнес

Виджеты

Живые обои

Здоровье и спорт

Инструменты

Книги и справочники

Комиксы

Медицина

Музыка и аудио

Мультимедия и видео

Новости и журналы

Образование

Персонализация

Погода

Покупки

Путешествия

Работа

Развлечения

Разное

Связь

Социальные

Спорт

Стиль жизни

Транспорт

Финансы

Фотография
31 октября 2012 года компания Google объявила, что количество приложений достигло 700 000 приложений, и количество скачиваний достигло

18 25 миллиардов раз. Однако одновременно с этим пользователи жалуются, что в магазине часто содержатся программы низкого качества. В соответствии с этим очевидна важность разработки качественного программного продукта.
Ключевым моментом начала разработки является поиск и анализ аналогичных или сходных по тематике программных продуктов, в том числе и сравнительный. Основная задача здесь – определить, каковы плюсы и минусы уже существующих приложений с точки зрения пользователя.
Поиск аналогов и анализ их преимуществ и недостатков
Бенчмаркинг конкурентоспособности – это измерение характеристик предприятия, исследования специфических продуктов, возможностей процесса или административных методов и сопоставление их с характеристиками конкурентов. В терминах приложений для мобильных телефонов, бенчмаркинг представляет собой оценку по десятибалльной шкале <1,..,10>, полученную при тестировании функциональности приложения на заявленные требования.
В качестве критериев эффективности выступают основные функции, которые должны присутствовать в туристической информационной системе.
В список основных функций моего приложения входят:

разделение объектов на категории;

поиск и получение адресов объектов, расположенных поблизости;

построение маршрута к выбранному объекту;

получение информации об объекте c возможностью просмотра скидки по
ISIC.
Информационная система будет осуществлять поиск по Санкт-
Петербургу.
Ниже перечислены функциональные возможности разработанной нами системы.

19
Поиск приложений для мобильных телефонов в Google play осуществлялся по скидочным сервисам, туристическим обозревателям, cистемам навигации. В приведенной ниже таблице 3 слева перечислены основные аналоги (сходные по тематике приложения) из Google Play, а в качестве критериев эффективности
(сверху) приведены основные критерии оценки этих приложений. Цифры в таблице были расставлены в соответствие с мнением опрошенной фокус- группы из специалистов в данной области.
Таблица 3. Бенчмаркинг конкурентоспособности
При разработке приложения необходимо провести анализ преимуществ и недостатков уже существующих приложений, сходных по тематике. Поэтому, прежде чем приступить к разработке, мною был проведен анализ ряда как платных, так и бесплатных приложений, после чего были сформулированы основные жалобы пользователей, которые были отражены в таблице 4.

20
Таблица 4. Основные недостатки исследуемых аналогов
Скидочные сервисы
Туристические системы
Системы навигации
Отсутствие интерфейса на русском языке


Отсутствие указания стоимости с учетом скидки

Отсутствие навигирования по маршруту


Отсутствие информационной поддержки

Отсутствие расширенной информационной поддержки


Основным выводом, сделанным в ходе данного анализа, было следующее: максимально удобное в использовании туристическое приложение должно сочетать все вышеперечисленные аспекты, и при разработке приложения необходимо устранить как можно больше недостатков, выявленных в ходе анализа аналогичных программных продуктов.
2.2 Уточнение требований к системе
На сегодняшний день различные купонно-скидочные сервисы прочно вошли в обиход многих людей. Однако до сих пор не существует ресурса, позволяющего в режиме реального времени не только учитывать и показывать скидки, действующие для определенной группы людей в зависимости от их текущего местоположения, но и предоставлять информационную поддержку выбранных объектов. Например, скидки международного уровня для студентов, действующие по картам ISIC (International Student Identity Card).
В рамках моей дипломной работы представлена информационная система, предоставляющая возможность для русских и иностранных студентов

21 поиска скидок в соответствие со следующими категориями:

Посещение музеев;

Посещение театров;

Участие в городских мероприятиях;

Питание в ресторанах, кафе, сетях быстрого питания.
Информационная система будет осуществлять поиск по Санкт-
Петербургу.
Ниже перечислены функциональные возможности разработанной нами системы.
1.
Использование смартфона на базе Android для определения географических координат.
2.
Поиск в базе данных и визуализация на картах Yandex объектов выбранной категории, представляющих туристический интерес.
3.
Выбор желаемых объектов интереса для поиска маршрута.
4.
Информационная поддержка по выбранным объектам с возможностью учета скидок.
5.
Отображение выбранного объекта на карте.
6.
Навигация по выбранному маршруту с использованием карт Yandex.
7.
Реализация клиентского приложение на платформе Android.
8.
Использование встроенной реляционной базы данных SQLite.


22
Глава III. Программное приложение для ОС Android
3.1 Архитектура и реализация
Программное приложение для ОС Android состоит из набора активностей, каждой из которых соответствует экран приложения. Каждая активность представлена в проекте классом, реализованном на языке Java, хранящемся в одноименном файле с расширением .java. Каждой активности соответствует xml файл-описание. В xml-файле описано в виде xml-кода расположение визуализируемых объектов. При запуске активности система Android автоматически распознает размер экрана мобильного устройства и приводит выводимый контент в соответствие с разметкой, описанной в xml-файле. Таким образом, одна и та же активность будет выглядеть одинаково независимо от диагонали используемого устройства. Также, для кадого приложения Android должен существовать xml-файл, в котором в виде xml-кода будут прописаны минимальные требования к системе, а также активность, вызываемая при запуске приложения [7].
Приложение работает со встраиваемой реляционной базой данных
SQLite. SQLite не использует парадигму клиент-сервер, то есть движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а предоставляет библиотеку, с которой программа компонуется и движок становится составной частью программы. Таким образом, в качестве протокола обмена используются вызовы функций (API) библиотеки SQLite.
Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite хранит всю базу данных (включая определения, таблицы, индексы и данные) в единственном стандартном файле на том компьютере, на котором исполняется программа [8].

23
Рис. 3. Пошаговая схема работы фрагмента приложения
На рисунке 3 представлена диаграмма работы фрагмента реализуемого приложения, демонстрирующая выбор музея Эрмитажа в категории culture.
В области разработки программного обеспечения используется специальный язык для графического описания объектного моделирования – язык UML (Unified Modeling Language). При описания работы приложения создается абстрактная модель системы или подсистемы, называемая UML- моделью. На стадии описания работы приложения для наглядного представления работы отдельных функций приложения приводится Диаграмма компонентов [9].
Поскольку основными элементами приложения для ОС Android являются активности, то схема работы реализуемого приложения представляет собой схему связей между активностями. На рисунке 4 показана диаграмма активностей UML, демонстрирующая работу всего разрабатываемого приложения [10].

24
Рис. 4. Пошаговая схема работы всего приложения

25
Рис. 5. Схема распространения запросов (указаны линиями) и потоков данных (указаны стрелками) от базы данных к модулям приложения
На рисунке 5 представлена диаграмма потоков данных. Потоки данных в рассматриваемой диаграмме распространяются от базы данных к остальным элементам посредством SQL-запросов.
При загрузке приложения основная активность обращается к базе данных, находящейся на диске. Если на диске база данных не обнаружена, то создается пустая база данных и происходит её обновление через интернет.
Таким образом, пользователь может выбрать интересующие его категории объектов. При выборе категории в меню загружается активность «Категория», которая обращается к базе данных и, считав возможные категории, отображает их в списке. При выборе категории загружается активность «Подкатегория». С помощью механизма передачи параметров между активностями ей передается
БД
КАРТА
КАТЕГОРИЯ
ПОДКАТЕГОРИЯ
ТАБЛИЧНЫЙ
ВИД
ВЫБРАННЫЙ ОБЪЕКТ
ПОЛУЧЕНИЕ ПОДРОБНОЙ
ИНФОРМАЦИИ
ОБ ОБЪЕКТЕ

26 информация о категории. Эта активность тоже обращается к базе данных
(формируя запрос) и выводит все подкатегории. При выборе любой подкатегории формируется запрос на изменение базы данных. Таким образом, база данных всегда будет знать об интересующих подкатегориях и их не придется вводить после каждого перезапуска приложения.
Выход из этих активностей осуществляется с помощью кнопки “Назад”.
Активность «Таблица» формирует запрос к базе данных на основании выбранных категорий и выводит список всех объектов в табличной форме.
Также с помощью специальной функции из Yandex API вычисляется расстояние между объектом и текущим местоположением.
При необходимости получения дальнейшей информации загружается следующая активность, куда передается ID номер выбранного объекта.
Активность представляет собой TabView, в одном из табов которого находится карта, а в других – текстовые поля. Активность запрашивает из базы данных информацию об объекте и заполняет текстовые поля.
Список модулей
Функционально, приложение состоит из приведенных ниже модулей
(активностей). Активность является схемой представления Android- приложений.
Каждый экран пользовательского интерфейса представлен классом
Activity и по сути является отдельной формой приложения. Android-приложение способно состоять из нескольких активностей и может переключаться между ними во время выполнения приложения.

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

27

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

Активность выбора объекта интереса содержит список объектов интереса, удовлетворяющих выбранным ранее критериям. Для этого активность, получив в параметрах уточненную информацию об объектах интереса, формирует запрос к базе данных и на основании полученной от базы данных информации создает динамический список объектов c помощью адаптера «ArrayAdapter». Работа с базой данных происходит с помощью класса SqlDataHelper.

Активность TableView содержит список объектов из выбранных категорий с указаниями расстояния до них. Активность посылает запрос к базе данных о выбранных категориях и на основании полученной информации формирует новый SQL-запрос для получения всех интересующих объектов. При выборе любого объекта запускается новая активность TabWidget, в качестве параметров которой передается идентификатор объекта.

Активность TabWidget: На основании идентификатора объекта формируется SQL-запрос для получения расширенной информации об объекте, такой как информация о выставках, скидках, GPS-координатах, адресе и режиме работы.
Схема активностей разработанного мною приложения представлена ниже на рисунке 6 с помощью диаграммы классов UML.

28

Рис. 6. Активности приложения и связи между ними
3.2 Обоснование выбора технологий Java и SQLite
По умолчанию в Android используется SQLite – популярная и простая в освоении реляционная база данных. SQLite поддерживает типы TEXT (аналог
String в Java), INTEGER (аналог long в Java) и REAL (аналог double в Java).
Остальные типы следует конвертировать, прежде чем сохранять в базе данных
[11].

29
Библиотека Android содержит абстрактный класс SQLiteOpenHelper
,
с помощью которого можно создавать, открывать и обновлять базы данных. Это основной класс, с которым осуществляется работа в проекте. При реализации этого вспомогательного класса скрывается логика, на основе которой принимается решение о создании или обновлении базы данных перед ее открытием.
Класс SQLiteOpenHelper содержит два абстрактных метода: onCreate() –
метод, который вызывается при первом создании базы данных, а также onUpgrade(), который вызывается при модификации базы данных.
В приложении создан собственный класс diplom_Data_Base, наследуемый от SQLiteOpenHelper. В этом классе реализованы методы onCreate() и onUpgrate(). В них описана в них логика создания и модификации базы данных.
Во фрагменте кода, приведенном в Приложении A, описано создание базы данных с помощью метода onCreate, включающее создание трех таблиц –
Category, Subcategory и Objects (см. таблицы 1-3 Приложения). Аналогично создается четвертая таблица – таблица Discount (см. таблицу 4 Приложения).
В методе onCreate() таблицы заполняются начальными значениями. При этом метод onCreate вызывается только один раз при создании базы данных.
Запрос к базе данных выполняется с помощью вызова
SQLiteDatabase::query()
В результате выполнения запросов возвращается объект
Cursor
, содержащий таблицу с результатами запроса.
Cursor предполагает последовательную работу со строками результата. В каждый момент времени активна одна строка, на которую ссылается указатель. Перебирая записи последовательно, можно получить доступ к данным.
Все таблицы базы данных указаны в Приложении B.

30
3.3 Описание функциональности
При запуске приложения на экран отображается подгруженный фрагмент карты (Yandex map), на котором отмечено текущее местоположение пользователя (см. рисунок 7). Для более детального просмотра (к примеру, поиск номеров домов) можно регулировать масштаб карты.

Рис. 7. Основная активность
При нажатии на кнопку выбора первого меню пользователю сначала предоставляется фильтр объектов по категориям, а затем checkbox, с помощью которого можно отметить интересующие типы объектов данной категории. Эти действия в соответствующем порядке показаны ниже на рисунке 8.

31
Рис. 8. Выбор категорий
Определившись с типом объектов для поиска, пользователю предоставляется список объектов в табличном виде, взятый из базы данных, с указанием адресов (см. рисунок 9). При выборе конкретного объекта можно посмотреть отдельно информацию о нем.
Рис. 9. Список объектов в табличном виде с расстоянием до них (слева), просмотр информации о выбранном объекте (справа)

32
Для ориентации пользователя предлагается после просмотра информации об объекте посмотреть выбранный объект на карте и построить маршрут до него с помощью карт Yandex (см. рисунок 10). В случае, если Yandex навигатор не установлен на смартфоне, приложение подгрузит ссылку на бесплатное приложение в Google Play и предложит скачать его. Использование Yandex-навигатора показано на рисунке 11.
Рис. 10. Просмотр объекта на карте
Рис. 11. Построение маршрута с помощью навигации карт Yandex

33
3.4 Тестирование
В процессе разработки приложения производилось поэтапное тестирование с целью выявления программных ошибок и несоответствий ТЗ
(техническому заданию). Для этого нами были созданы эмуляторы смартфона и планшета с разными диагоналями экрана для разных версий Android.
Тестируемый программный продукт последовательно запускался на этих эмуляторах, его поведение анализировалось, и при необходимости по результатам анализа вносились изменения в код [12].
Для тестирования отдельных модулей работы c базой данных в текст программы были внесены специальные функции, позволяющие анализировать базу данных и, при подозрении на ошибку, выводящие сообщение в системный журнал. Они также известны как юнит-тесты. Например, при изменениях в базе данных проводилась проверка целостности базы данных (проверка на соответствие ключей – индексам), после чего при необходимости выводилось сообщение в системный log.
Были проведены приведенные ниже тесты.
1.
Каждая активность была подвергнута юнит-тестированию с целью выявления ошибок, вызванных несоответствием ожидаемых и полученных параметров. Для этого для каждой активности был создан специальный юнит-класс, посылающий в активность различные верные и неверные параметры. При аномальном поведении активности или ее сбое, мною анализировалось поведение и ошибка исправлялась.
2.
В базу данных намеренно вносились недопустимые данные в соответствующие поля, которые могли быть неверно интерпретированы программой. Затем мною анализировалось поведение активности во время обработки недопустимых данных.

34 3.
Приложение было запущено на устройствах, работающих под управлением разных версий Android с целью выявления особенностей работы приложения, запущенного в разных операционных системах.
4.
После завершения цикла разработки, программный продукт тестировался на реальных устройствах. По результатам тестирования была добавлена виртуальная кнопка «Меню» для устройств, не имеющих аппаратных кнопок.
3.5 Возможные варианты развития программного приложения
Возможными путями развития приложения являются:
1.
интеграция приложения со сторонними базами данных;
2.
реализация двухкомпонентной базы данных (локальной базы данных и базы данных в облаке);
3.
реализация возможности подгрузки пакетной информации;
4.
обновление мест интереса с использование удаленного сервера;
5.
реализация интерфейса на различных языках.


35
Заключение
Поднимая вопрос о недостаточной информационной поддержке в интернете по Санкт-Петербургу, нельзя не сказать об актуальности разработки программного приложения, соответствующего тематике данной проблемы и реализованного в соответствие с новейшими информационными технологиями.
В рамках дипломной работы были достигнуты перечисленные ниже результаты.
1.
Был проведен анализ приложений, имеющихся на Google Play и соответствующих тематике туристической информационной системы (ISIC
Benefits, World Explorer и других).
2.
Было создано приложение, реализующее следующие функции:

определение географических координат текущего местоположения пользователя;

поиск в базе данных и визуализацию на картах Yandex объектов выбранной категории, представляющих туристический интерес;

информационная поддержка по выбранным объектам, предоставляющую возможность учета скидок по международным студенческим удостоверениям ISIC;

навигация до выбранного объекта с использованием Yandex навигатора.
3.
Приложение было протестировано и показало свою работоспособность как на стандартных эмуляторах, взятых из SDK Android, так и на реальных устройствах на платформе Android (планшетном ПК и смартфоне).

36
Список литературы
1.
Медникс З., Дорнин Л. Программирование под Android. Издательство
Питер, 2012.
2.
Амелин К. С., Граничин О. Н., Кияев В. И., Корявко А. В.. Введение в разработку приложений для мобильных платформ. Издательство ВВМ,
2011.
3.
Дейтел П. Android для программистов: создаем приложения. Издательство
Питер, 2012.
4.
Голощапов А.Л. Google Android. Создание приложений для смартфонов и планшетных ПК. Издательство Питер 2012.
5.
Мельникова О.М.: Смартфоны на Android. Издательство Эксмо, 2013.
6.
Каймин В.А. Информатика: Учебное пособие: Изд. 2-е. Издательство
РИОР, 2007.
7.
Варакин М.В. Разработка мобильных приложений под Android. УЦ
«Специалист» при МГТУ им. Н. Э. Баумана, 2012.
8.
John Wiley & Sons. Reto Meier Professional Android 4 Application
Development. Wrox, 2012.
9.
Martin Fowler. UML Distilled: A Brief Guide to the Standard Object Modeling
Language (Object Technology Series). Addison Wesley, 2003.
10.
Пайлон Д. UML 2 для программистов. Издательство Питер, 2012.
11.
Bill Phillips, Brian Hardy. Android Programming: The Big Nerd Ranch Big.
Nerd Ranch Guides, 2013.
12.
Котляров В.П. Основы тестирования программного обеспечения.
Издательство Бином, 2009.

37
Приложение A
Фрагмент кода

public void onCreate(SQLiteDatabase db)
{ db.execSQL("CREATE TABLE Category ( CategoryID INTEGER PRIMARY
KEY AUTOINCREMENT , Category TEXT )"); db.execSQL("CREATE TABLE Subcategory ( SubcategoryID INTEGER
PRIMARY KEY AUTOINCREMENT, category_name TEXT,subcat_name
TEXT ,checked TEXT,FOREIGN KEY (category_name) REFERENCES
Category(Category) );"); db.execSQL("CREATE TABLE Object ( ObjectID INTEGER PRIMARY KEY ,
SubcategoryID INTEGER NOT NULL ,name TEXT,coord1 TEXT,coord2
TEXT,adress TEXT,information TEXT,exhibitions TEXT,FOREIGN KEY
(SubcategoryID) REFERENCES Subcategory (SubcategoryID) );"); }


38
Приложение B
Структура базы данных
Таблица 1. Категории
Category
CategoryID идентификатор выбранной категории (ключевое поле)
Category название выбранной категории (Культура / Еда / Развлечения)
Таблица 2. Подкатегории
Subcategory
SubcategoryID идентификатор подкатегории (ключевое поле)
Category_name название категории
Subcat_name
название подкатегории
Checked
метка выбора
Таблица 3. Объекты
Objects
Discount размер скидки
Discount_ID идентификатор скидки (ключевое поле)
ObjectID идентификатор объекта (ключевое поле)
SubcategoryID идентификатор подкатегории (ключевое поле)
Name название объекта
Coord1 географическая координата объекта
Coord2 вторая географическая координата объекта
Adress адрес объекта
Information информация об объекте
Exhibitions информация о выставках

39
Таблица 4. Скидки
Discount
Checked метка выбора
Discount_ID идентификатор скидки (ключевое поле)
Discount_name тип скидки


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал