Автор работы: Пользователь скрыл имя, 30 Ноября 2013 в 20:08, дипломная работа
Что бы ни говорили, а мобильность сегодня — явление глобальное, проникающее во многие сферы нашей жизни. Почти половина всех пользователей мобильных услуг проживают в пяти странах, среди которых и Россия. Ныне потребитель ищет не просто мобильный телефон, он внимательно изучает условия, соотнося их с требованиями современного рынка. Именно поэтому можно утверждать, что развитие мобильных технологий будет только ускоряться.
ВВЕДЕНИЕ 5
1. ГОРОДСКИЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ И МОБИЛЬНЫЕ ИНТЕРФЕЙСЫ 8
1.1 Введение в ГИС 8
1.2 Организация данных в ГИС 11
1.3 ГИС среди информационных технологий 17
1.4 Что ГИС могут сделать для туризма 24
1.5 Предметно ориентированные ГИС 25
1.6 Основные концепции информационной визуализации, используемые в ГИС 25
1.7 ГИС и мобильные интерфейсы 27
2. ГЕОКОДИРОВАНИЕ В ИС 28
2.1 Понятие геокодирования. 28
2.2 Назначение геокодирования 28
2.3 Методы геокодирования 29
3. ОСНОВНЫЕ ТРЕБОВАНИЯ К ТУРИСТИЧЕСКОЙ КАРТЕ 33
4. ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА РАЗРАБОТКИ 34
4.1 Операционная система Google Android 34
5. ОПИСАНИЕ ПРОЕКТА ПРИЛОЖЕНИЯ 44
5.1 Структура программы. 44
5.2 Описание компонентов программы 45
5.3 Программная реализация. 58
ЗАКЛЮЧЕНИЕ 68
ЛИТЕРАТУРА 69
Точность определения координат объектов при адресном геокодировании зависит от того, насколько сильно различаются по размерам объекты, соответствующие различным адресам. Если в приведенном выше примере здание номер 120 занимает половину всего квартала, то положение здания номер 118 будет вычислено весьма неточно.
Для любого из описанных методов геокодирования имеется дополнительная возможность установить связи между создаваемыми объектами и записями таблиц. В качестве связанных таблиц могут выступать как сама геокодируемая таблица, так и другие таблицы гбд. В последнем случае информация из геокодируемой таблицы используется для определения записи связанной таблицы, присоединяемой к создаваемому объекту.
Целью работы является разработка туристической карты для мобильных устройств, работающих на платформе Android.
Данное приложение должно быть «электронным помощником» туриста, используя которое он смог бы без труда познакомиться с достопримечательностями города.
Туристическая карта должна быть проста в использовании, но в то же время она должна содержать всю информацию, которая необходима как туристу, впервые прибывшему в Екатеринбург, так и тому, кто хочет лучше узнать свой город.
Основываясь на исследованиях, приведенных в предыдущих главах, я пришла к выводу, что приложение должно иметь следующие особенности:
Во время проведения исследований было решено разрабатывать наше приложение для мобильных устройств работающих под управлением платформы android, т.к. данная платформа по мнению аналитиков и экспертов захватывает рынок мобильных устройств постепенно вытесняя с него общепризнанных лидеров.
Материал взят из [5], [6], [7], [8].
Система Android – это программный стек для мобильных устройств, который включает операционную систему, программное обеспечение промежуточного слоя (middleware), а также основные пользовательские приложения (e-mail-клиент, календарь, карты, браузер, контакты и др.).
Уровень ядра
Ядро является слоем абстракции
между оборудованием и
Ядро android основано на ядре Linux 2.6, но сама система Android не является Linux-системой в чистом виде, имеет некоторые отличия и содержит дополнительные расширения ядра, специфичные для Android, - свои механизмы распределения памяти, взаимодействие между процессами и др.
Рис. 1 Архитектура системы Android
Основные компоненты уровня ядра:
Рассмотрим теперь кратко основные компоненты ядра android.
Драйвер IPC. Приложения и службы могут работать в защищенных отдельных процессах, которые должны общаться между собой и иметь доступ к общим данным. Платформа android обеспечивает механизм ipc (inter-process communication), который является основным механизмом взаимодействия между процессами.
Драйвер IPC обеспечивает следующую функциональность:
Управление энергопотреблением. Система управления энергопотреблением (android power management) разработана на основе стандартного драйвера управления питанием linux, но оптимизирована для мобильных устройств с учетом их специфических особенностей.
Основная функция системы
управления энергопотреблением – экономное
использование батареи
Драйверы оборудования. Программный стек android разработан с учетом необходимой гибкости, включая работу со многими дополнительными компонентами, имеющимися в мобильных устройствах. Эти компоненты в значительной степени полагаются на доступность определенных аппаратных средств на данном устройстве. Они предоставляют дополнительную фунциональность для мобильных устройств (сенсорный экран, камера, gps, акселерометр и т.д.).
Уровень библиотек
Следующий уровень над ядром Linux является набором библиотек c/c++ типа openGL, webkit, freetype, ssl, библиотеки поддержки libc, базы данных SQLite и мультимедиабиблиотек (media framework). Системная библиотека базируется на berkeley software distribution (bsd) и разработана для мобильных устройств на основе Linux.
Следующий уровень над ядром Linux включает набор библиотек c/c++, используемых различными компонентами ос. Для разработчиков доступ к функциям этих библиотек реализован через использование application framework – каркаса приложений. Библиотеки этого уровня по своему функциональному назначению можно разделить на следующие группы:
Системная библиотека libc. Компания Google разработала собственную с-библиотеку (libc) – bionic. Это было необходимо по следующим причинам:
библиотека bionic имеет встроенную поддержку важных для android системных служб и регистрацию системных событий. Библиотека bionic не поддерживает определенные функциональности, например исключения с++, и несовместима с gnu libc и стандартом posix.
Менеджер поверхностей. Система android использует композитный менеджер поверхностей, похожий на compiz (композитный менеджер для x window system, использующий для ускорения 3d-графику opengl). Вместо того чтобы рисовать непосредственно в буфер экрана, команды рисунка входят за кадром в битовые массивы, которые потом объединяются с другими битовыми массивам, чтобы сформировать изображение, которое видит пользователь. Это позволяет системе создавать все виды интересных эффектов, например прозрачные окна и причудливые переходы.
Менеджер поверхностей обрабатывает весь рендеринг поверхностей на фреймовый буфер. Менеджер может объединить 2d- и 3d-поверхности и поверхности от нескольких приложений. Поверхности передаются как буферы компоновкой ipc-запросов. Менеджер поверхностей использует двойную буферизацию, используя транспонирования страницы. Системные интеграторы могут подключать аппаратное 2d-ускорение, используя плагины khronos. Обработка графической информации менеджером поверхностей представлена на следующем рисунке
Рис. 2. Обработка графической информации менеджером поверхностей
Функциональные библиотеки. Android включает ряд библиотек с/с++, используемых различными компонентами системы. Далее приводятся основные функциональные библиотеки системы.
Среда выполнения
Среда выполнения обеспечивает библиотеки ядра dalvik virtual machine (виртуальная машина dalvik), которые предоставляют требуемую функциональность для java-приложений.
Dalvik virtual machine. Прикладное программное обеспечение, запускаемое на мобильном устройстве, исполняет виртуальная машина dalvik, которая хоть и является аналогом виртуальной машины java, существенно от нее отличается. Dalvik относится к классу регистровых машин (регистры процессора используются как первичные модули хранения данных), идеально подходящих для работы на процессорах risc-архитектуры, к которым относятся и процессоры arm, применяемые в мобильных устройствах, тогда как стандартная виртуальная машина java компании sun microsystems – стековая. В результате использования регистровой виртуальной машины Google надеется на 30 процентов уменьшить количество команд по сравнению со стековыми машинами.
Созданные с помощью стандартного java-компилятора class-файлы и преобразуются в байт-код dalvik (*.dex) транслятором dx, входящим в состав sdk. Изнутри работающий Android выглядит как набор виртуальных машин dalvik, в каждой из которых исполняется прикладная задача.
Виртуальная машина dalvik, на которой построена вся операционная система Google Android, дает разработчикам приложений удобный механизм для написаний приложений, которым не принципиален объем используемой памяти и мощность процессора.
Core libraries. Включает набор основных библиотек, которые предоставляют функциональность для java. Библиотеки ядра обеспечивают слой API и являются основной платформой разработки java-приложений для Android.
Уровень каркаса приложений.
Уровень каркаса приложений находится на вершине системных библиотек, функциональных библиотек и dalvik vm. На этом уровне находятся основные службы Android для управления жизненным циклом приложений, пакетами, ресурсами и т.д.
Программист имеет полный доступ к тем же API, которые используются основными приложениями. Архитектура этих приложений разработана с целью упрощения многократного использования компонентов. Любое разрабатываемое приложение может использовать возможности базовых приложений и, соответственно, любое стороннее приложение может использовать возможности вашего приложения (с учетом установленных разрешений). Этот же самый механизм позволяет многократно использовать уже разработанные компоненты.
Службы Android – это службы, которые являются основными для всех приложений, работающих на устройстве. К ним относятся:
Информация о работе Разработка информационных систем на базе мобильных интерфейсов