679

Реализация геолокационного приложения для ОС Android

Курсовая

Информатика, кибернетика и программирование

Создание геолокационного приложения для ОС Android и получения навыков программирования для этой системы. Основные компоненты Android приложения. Плагин DDMS для среды разработки Eclipse. Программа, определяющая местоположение пользователя и находящая объекты в заданном радиусе.

Русский

2013-01-06

109 KB

473 чел.

Министерство образования и науки РФ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ "ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ"

Кафедра «Автоматизированные системы обработки информации и управления»

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К КУРСОВОМУ ПРОЕКТУ

по дисциплине
«
ООП на языке Java»

Реализация геолокационного приложения для ОС Android

Руководитель:

старший преподаватель каф. АСОИУ  Е. Б. Юдин

 подпись, дата

Исполнитель:

студент гр. ИВТ-240 ______________________________________ А. Н. Гулицкий

 подпись, дата

Омск 2011


Реферат

Отчет 11 с., 3 рис., 0 табл., 3 источника, 0 прил.

ANDROID, GPS, ГЕОЛОКАЦИЯ, ОПРЕДЕЛЕНИЕ МЕСТОПОЛОЖЕНИЯ, JAVA, ANDROID SDK

Предметом исследования является создание геолокационного приложения.

Цель работы – реализация приложения на языке Java с использованием технологии GPS для ОС Android.

В процессе работы  было разработано приложение, подсказывающее местоположение ближайших объектов и информацию о них. При разработке  были получены навыки программирования для ОС Android.


Содержание

Введение 5

1 Постановка задачи курсового проектирования 6

2 Теоретический анализ 6

2.1 История Android 6

2.2 Основные компоненты Android приложения 6

3 Описание разработанной системы 7

3.1 Аспекты реализации 7

3.2 Диаграмма классов 7

3.3 Назначение и область применения 8

4 Описание программы 8

4.1 Описание программы 8

4.2 Внешний вид программы 8

4.3 Тестирование приложения 9

4.4 Достоинства разработанной программы 9

4.5 Недостатки разработанной программы 9

Заключение 10

Список использованных источников 11

 


Введение

Данный курсовой проект направлен на создание геолокационного приложения для ОС Android и получения навыков программирования для этой системы.

Данная тема особенно актуальна в настоящее время, в связи с широким распространением ОС Android и востребованностью приложений, связанных с геолокацией и технологией GPS.


Постановка задачи курсового проектирования

Целью данного курсового проекта является разработка приложения для ОС Android, используемого для определения местоположения пользователя с помощью технологии GPS и вывод информации об объектах, находящихся в некотором радиусе.

  1.  Теоретический анализ
    1.  История Android

ОС Android предназначена для мобильных устройств и основана на ядре Linux.

В 2005 году Google купила небольшую компанию Android Inc., а в 2007 году был создан Open Handset Alliance – группа компаний, целью которой является разработка открытых стандартов ПО для мобильных устройств. В OHA входят многие известные и крупные производители мобильных устройств и провайдеры сотовой связи.

Чуть позже был выпущен SDK для разработчиков, основным языком для которого является Java [1].

Первым выпущенным телефоном на базе Android считается T-Mobile G1 (он же HTC Dream).

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

  1.  Основные компоненты Android приложения

Приложения для Android создаются на языке Java и запускаются в виртуальной машине Dalvik [3]. Основным форматом байткода для этой ВМ является формат dex. Dex-файлы, ресурсы и xml-файлы в бинарном виде запаковываются в архив apk, из которого и устанавливается приложения. Также apk-архив подписывается ключами для распространения приложения в Android Market.

Приложения состоят из четырех основных компонентов:

  •  Activity (Активность) – это визуальный компонент приложения, отвечающий за пользовательский интерфейс. Можно провести аналогию с окном в ОС Windows [2];
  •  Service (Сервис) – компонент, выполняющийся в фоновом режиме;
  •  Broadcast Receiver (Широковещательный приемник) – компонент, задача которого отслеживать сообщения от приложений и системы и реагировать на них;
  •  Intent (Намерение) – компонент для связывания нескольких или частей одного приложения;
  •  Файл AndroidManifest.xml – файл, определяющий структуру приложения и содержащий данные обо всех его компонентах;
  1.  Описание разработанной системы
    1.  Аспекты реализации

Для реализации данной программы было создано 4 класса, из них три Активности и один Сервис:

  •  Класс MainActivity – класс главной Активности. Содержит в себе меню настроек и кнопку включения/выключения отслеживания местоположения;
  •  Класс PreferencesActivity – класс Активности, содержащий в себе интерфейс для настройки параметров приложения;
  •  Класс SecondActivity – основной класс Активности, используемый для вывода информации о найденных объектах;
  •  Класс GpsService – класс Сервиса, который отслеживает местоположение пользователя и переключает способы его определения в зависимости от условий;

После получения долготы и широты пользователя, данные отправляются на сервер, где они обрабатываются, и обратно возвращается уже список обнаруженных объектов и их параметров в формате JSON. Также для предотвращения многократного определения объекта в случае, когда пользователь не отошел на достаточное расстояние, сделано время таймаута для каждого объекта. Также реализована возможность регистрации пользователя по адресу электронной почты Google Mail и возможность набирать некие бонусы на аккаунт во время прохождения мимо объекта.

  1.  Диаграмма классов

Диаграмма классов изображена на рисунке 1.

Рисунок 1 – Диаграмма классов

  1.  Назначение и область применения

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

  1.  Описание программы
    1.  Описание программы

Программа определяет местоположение пользователя по GPS, либо по вышкам сотовой связи (если GPS выключен). В качестве компенсации за потерю точности при определении координат по сотовым вышкам радиус определения увеличивается.  Для включения/выключения отслеживания местоположения используется переключатель в главной Активности приложения. Для вызова меню настроек используется аппаратная кнопка «Меню».

Если рядом найден некоторый объект, то телефон сигнализирует вибрацией, звуком и миганием светодиодом. Также в области уведомлений появляется краткая информация о найденном объекте.

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

  1.  Внешний вид программы

Внешний вид программы изображен на рисунках 2 и 3.

Рисунок 2 – Внешний вид главной Активности

Рисунок 3 – Внешний вид Активности с информацией

  1.  Тестирование приложения

Для тестирования приложения использовался плагин DDMS [1] для среды разработки Eclipse. С его помощью в эмулятор передавался набор геокоординат. Затем полученное расстояние от салона до точки измерения сравнивалось с измеренным на Яндекс.Картах. Погрешность расчетов оказалась достаточно мала и колебалась в пределах полуметра.

  1.  Достоинства разработанной программы

К достоинствам программы относятся:

  •  Мобильность;
  •  Малый расход батареи;
  •  Возможность работы с разными типами объектов;
  •  Возможность работы как с GPS, так и с вышками сотовой связи.
    1.  Недостатки разработанной программы

К недоработкам программы можно отнести:

  •  Ориентированность только на платформу Android;
  •  Достаточно большой расход памяти;
  •  Обязательный доступ в интернет для работы приложения.


Заключение

В ходе работы были получены необходимые знания для работы с платформой Android и GPS. Результатом работы стала программа, определяющая местоположение пользователя и находящая объекты в заданном радиусе. Также было проведено тестирование программы.

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

Поставленная задача решена полностью.


Список использованных источников

  1.  Android Developers [Электронный ресурс]. – Режим доступа:                      http://developer.android.com, свободный. – Загл. с экрана. – Яз. Английский
  2.  Рето Майер Android 2: Программирование приложений для планшетных компьютеров и смартфонов. – М: Эксмо, 2011. – 672 с.
  3.  Голощапов А. Л. Google Android. Программирование для мобильных устройств. – СПб: БХВ-Петербург, 2011. – 448 c.


 

А также другие работы, которые могут Вас заинтересовать

36239. Структура моделей знаний: правила продукции. Примеры 41 KB
  Структура моделей знаний: правила продукции. Понятие продукционных правил. Для достижения цели используется некоторая совокупность фактов и способов их применения правил. На этих понятиях основан наиболее распространенный метод представления знаний правила продукции или продукционные правила.
36240. Структура моделей знаний: семантические сети. Примеры 43 KB
  Структура моделей знаний: семантические сети. Понятие семантической сети основано на древней и очень простой идее о том что память формируется через ассоциации между понятиями. Квиллиан предположил что наша способность понимать язык может быть охарактеризована некоторым множеством базовых понятий концептов Базовыми функциональными элементами семантической сети служит структура из двух компонентов узлов и связывающих их дуг. Узлы в семантической сети соответствуют объектам понятиям или событиям.
36241. Структура моделей знаний: фреймовые модели. Примеры 43 KB
  Структура моделей знаний: фреймовые модели. Термин фрейм был предложен Марвином Минским в 70е годы. В теории фреймов этот образ называют фреймом комнаты. В нем есть дырки незаполненные значения некоторых атрибутов например количество окон эти дырки называют слотами Таким образом можно дать определение фрейму как минимально возможному описанию сущности какого то явления события ситуации процесса или объекта.
36242. Формальная система в представлении знаний 36 KB
  Из множества формул выделяют подмножеств правильно построенных формул ППФ. определяется эффективная процедура позволяющая по данному выражению выяснять является ли оно ППФ в данной ФС. Выделено некоторое множество ППФ называемых аксиомами ФС. При этом должна иметься эффективная процедура позволяющая для произвольной ППФ решить является ли она аксиомой.
36243. Система нечетких рассуждений в представлении знаний 248 KB
  Они в свою очередь определены через некоторую базовую шкалу В и функцию принадлежности. Понятие принадлежности. Тогда х принадлежит А если существует функция: Основным отличием нечеткой логики от классической как явствует из названия является наличие не только двух классических состояний значений но и промежуточных: Функция принадлежности определяет субъективную степень уверенности эксперта в том что данное конкретное значение базовой шкалы соответствует определяемому нечеткому множеству. Методы получения функции принадлежности...
36244. Системы искусственного интеллекта. Понятия и определения. Архитектура, классификация моделей 38 KB
  В этой информационной модели окружающей среды реальные объекты их свойства и отношения между ними не только отображаются и запоминаются но и как это отмечено в данном определении интеллекта могут мысленно целенаправленно преобразовываться . При этом существенно то что формирование модели внешней среды происходит в процессе обучения на опыте и адаптации к разнообразным обстоятельствам . Под структурным подходом мы подразумеваем попытки построения ИИ путем моделирования структуры человеческого мозга. Основной моделируемой структурной...
36245. Распознавание образов: подходы 36 KB
  Ассоциативность памяти и задача распознавания образов Динамический процесс последовательной смены состояний нейронной сети Хопфилда завершается в некотором стационарном состоянии являющемся локальным минимумом энергетической функции ES. Невозрастание энергии в процессе динамики приводит к выбору такого локального минимума S в бассейн притяжения которого попадает начальное состояние исходный пред'являемый сети образ S0. Поскольку для двух двоичных векторов минимальное число изменений компонент переводящее один вектор в другой является...
36246. Персептрон Розенблатта: структура, алгоритм обучения 52 KB
  Персептрон Розенблатта: структура алгоритм обучения. С сегодняшних позиций однослойный персептрон представляет скорее исторический интерес однако на его примере могут быть изучены основные понятия и простые алгоритмы обучения нейронных сетей.Розенблаттом метод обучения состоит в итерационной подстройке матрицы весов последовательно уменьшающей ошибку в выходных векторах. Здесь темп обучения.
36247. Генети́ческий алгори́тм 57.5 KB
  Некоторым обычно случайным образом создаётся множество генотипов начальной популяции. Таким образом можно выделить следующие этапы генетического алгоритма: Задать целевую функцию приспособленности для особей популяции Создать начальную популяцию Начало цикла Размножение скрещивание Мутирование Вычислить значение целевой функции для всех особей Формирование нового поколения селекция Если выполняются условия останова то конец цикла иначе начало цикла. Создание начальной популяции Перед первым шагом нужно...