Разработка информационных систем на базе мобильных интерфейсов

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

Diplom__Ba_va__FINAL.doc

— 2.78 Мб (Скачать файл)

Точность определения координат объектов при адресном геокодировании зависит от того, насколько сильно различаются по размерам объекты, соответствующие различным адресам. Если в приведенном выше примере здание номер 120 занимает половину всего квартала, то положение здания номер 118 будет вычислено весьма неточно.

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

 

 

 

 

 

 

 

 

 

 

 

 

    1. ОСНОВНЫЕ ТРЕБОВАНИЯ К ТУРИСТИЧЕСКОЙ КАРТЕ

Целью работы является разработка туристической карты для мобильных устройств, работающих на платформе Android.

Данное приложение должно быть «электронным помощником» туриста, используя которое он смог бы без труда познакомиться с  достопримечательностями города.

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

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

    • Мобильность — можно воспользоваться приложением, где бы вы ни находились и в любое время.
    • Полноценная, постоянно обновляемая карта города.
    • Возможность добавления на карту тематических слоев, содержащих дополнительную информацию.
    • Возможность определить свое местоположение.
    • Наличие информации об объектах туризма, а именно справочник, в котором данные структурированы определенным образом.
    • Возможность поиска нужного объекта по различным критериям, просмотра информации о нем.
    • Возможность отображения на карте как отдельного объекта, так и всей группы, к которой данный объект принадлежит.
    1. ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА РАЗРАБОТКИ

 

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

Материал взят из [5], [6], [7], [8].

4.1 Операционная система Google Android

Система Android – это программный стек для мобильных устройств, который включает операционную систему, программное обеспечение промежуточного слоя (middleware), а также основные пользовательские приложения (e-mail-клиент, календарь, карты, браузер, контакты и др.).

 

Уровень ядра

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

Ядро android основано на ядре Linux 2.6, но сама система Android не является Linux-системой в чистом виде, имеет некоторые отличия и содержит дополнительные расширения ядра, специфичные для Android, - свои механизмы распределения памяти, взаимодействие между процессами и др.

Рис. 1 Архитектура системы Android

Основные компоненты уровня ядра:

    • Драйвер межпроцессорного взаимодействия (ipc driver);
    • Драйвер управления питанием (android power management);
    • Набор драйверов для оборудования, входящего в состав мобильного устройства.

Рассмотрим теперь кратко основные компоненты ядра 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 имеет размер около 200 кбайт, что в два раза меньше размера glibc;
    • Ограниченная мощность центрального процессора мобильного устройства. Это означает, что библиотека должна быть оптимизирована для максимального быстродействия.

 библиотека bionic имеет встроенную поддержку важных для android системных служб и регистрацию системных событий. Библиотека bionic не поддерживает определенные функциональности, например исключения с++, и несовместима с gnu libc и стандартом posix.

Менеджер поверхностей. Система android использует композитный менеджер поверхностей, похожий на compiz (композитный менеджер для x window system, использующий для ускорения 3d-графику opengl). Вместо того чтобы рисовать непосредственно в буфер экрана, команды рисунка входят за кадром в битовые массивы, которые потом объединяются с другими битовыми массивам, чтобы сформировать изображение, которое видит пользователь. Это позволяет системе создавать все виды интересных эффектов, например прозрачные окна и причудливые переходы.

Менеджер поверхностей обрабатывает весь рендеринг поверхностей на фреймовый буфер. Менеджер может объединить 2d- и 3d-поверхности и поверхности от нескольких приложений. Поверхности передаются как буферы компоновкой ipc-запросов. Менеджер поверхностей использует двойную буферизацию, используя транспонирования страницы. Системные интеграторы могут подключать аппаратное 2d-ускорение, используя плагины khronos. Обработка графической информации менеджером поверхностей представлена на следующем рисунке

Рис. 2. Обработка графической информации менеджером поверхностей

 

Функциональные библиотеки. Android включает ряд библиотек с/с++, используемых различными компонентами системы. Далее приводятся основные функциональные библиотеки системы.

    • Мультимедиа (media framework). Эти библиотеки ответственны за регистрацию и воспроизведение аудио- и видеоформатов. Основаны на packetvideo opencore и предназначены для поддержки популярных аудио- и видеоформатов (mpeg4, h.264, mp3 и др.).
    • SQLite – процессор баз данных, доступный всем приложениям. SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а представляет библиотеку, с которой программа компонуется, и движок становится составной частью программы. Таким образом, в качестве протокола обмена используются вызовы функций (api) библиотеки sqlite. Такой подход уменьшает накладные расходы, время отклика и упрощает разработку приложений для работы с данными. Sqlite хранит всю базу данных (включая определения, таблицы, индексы и данные) в единственном стандартном файле на том компьютере, на котором исполняется программа.
    • OpenGL es – движок для работы с 3d-графикой, основанный на api-версии openGL es 1.0. OpenGL es – это упрощенная версия спецификации openGL, позволяющая мобильным устройствам работать с тяжеловесными в графическом отношении приложениями. Библиотека использует аппаратный 3d-акселератор (если он доступен на этом устройстве) или встроенное высоко оптимизированное трехмерное программное обеспечение для работы с растровой графикой.
    • Freetype – библиотека шрифтов, предназначенная для работы с растровыми и векторными шрифтами.
    • Webkit – библиотека, предназначенная для функционирования встроенного в android web-браузера. Webkit поддерживает css, javascript, dom, ajax.
    • SGL – движок для работы с 2d-графикой. Android также поддерживает собственную графическую 2d-библиотеку skia, которая написана на языке c и с++ (skia также формирует ядро популярного браузера google chrome).
    • SSL – библиотека предназначена для работы с сокетами, основанная на протоколе ssl: sslv3.0 или tslv1.2.

 

Среда выполнения

Среда выполнения обеспечивает библиотеки ядра 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 – это службы, которые являются основными для всех приложений, работающих на устройстве. К ним относятся:

    • Менеджер деятельностей (activity manager) – управляет жизненным циклом приложений и предоставляет систему навигации по истории работы с деятельностями (стеку деятельностей);
    • Менеджер пакетов (package manager) – управляет установкой и развертыванием пакетов прикладных программ, которые находятся на устройстве;
    • Менеджер окон (window manager) – сохраняет окна приложения. Если разработчик предусмотрел вывод экрана, а затем переключение на другой экран, первый будет сохранен операционной системой и поставлен в режим ожидания. Это,  в свою очередь, позволяет с помощью клавиши <back> мобильного устройства просматривать уже использовавшиеся экраны подобно тому, как это делается в web-браузере;
    • Менеджер ресурсов (resource manager) – предназначен для доступа к строковым, графическим и другим типам ресурсов;
    • Контент-провайдеры (content providers) – службы, которые позволяют приложениям получать доступ к данным других приложений, а также предоставлять сторонним приложениям доступ к своим данным;
    • Система представлений (view system) – система с расширяемой функциональностью, которая служит для создания внешнего вида приложений, включающего такие компоненты, как списки, таблицы, поля ввода, кнопки, встроенный web-браузер и многое другое;
    • Телефонный менеджер – обеспечивает слой api, контролирующий основную телефонную информацию, такую как сетевой тип и статус подключения, а также предоставляет различные утилиты для управления телефонными номерами;
    • Менеджер местоположения – навигационные службы, которые позволяют приложениям получать периодические обновления географического местоположения устройства или запускать определенное приложение;
    • Менеджер уведомлений – позволяет любому приложению отображать пользовательские уведомления в строке состояния.

Информация о работе Разработка информационных систем на базе мобильных интерфейсов