Мобильное приложение на android

Автор работы: Пользователь скрыл имя, 01 Июля 2017 в 14:50, дипломная работа

Описание работы

Цель работы – создание приложения, позволяющего отслеживать в реальном времени информацию об элементах гардероба в магазинах города Казани, для операционной системы Android.
Для достижения этой цели необходимо решить следующие задачи:
изучить область приложений, связанных с покупками, для мобильных устройств;
рассмотреть вопрос о разработке программ для операционной системы Android и использовать их для реализации приложения;
рассмотреть приложения конкуренты;
разработать приложение для шопинга;
произвести тестирование и валидацию программного продукта.

Содержание работы

ВВЕДЕНИЕ ………………………………………………………………….
3
Глава 1 АНАЛИЗ ИНФОРМАЦИИ И ПОСТАНОВКА ЗАДАЧИ ……...
6

1.1
Мобильные приложения……………………………………..
6

1.2
Обзор существующих мобильных платформ………………
7

1.3
Описание предметной области……...……………………….
10
Глава 2 ОПЕРАЦИОННАЯ СИСТЕМА ANDROID………………...........
13

2.1
Архитектура Android…….…………………………………...
13

2.2
Эмулятор для разработки приложений Android SDK………
16

2.3
Компоненты пользовательского интерфейса Android……...
18

2.4
Пакеты, которые являются частью Android SDK…………..
25
Глава 3 Анализ исходных данных. Разработка, тестирование и валидация программного продукта …………………………………...........
31

3.1
Анализ исходных данных ……………………………………
31

3.2
Разработка программного продукта ….…………………….
39

3.3
Тестирование и валидация программного продукта ..…….
46
ЗАКЛЮЧЕНИЕ ………………………………………………………...........
52
СПИСОК ЛИТЕРАТУРЫ ……

Файлы: 1 файл

ГОТОВЫЙ диплом.docx

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

В настоящее время Android развивается в геометрической прогрессии: каждый год число пользователей этой операционной системы постоянно растет. Согласно последнему отчету компании Canalys, ведущего аналитика индустрии высоких технологий, операционная система Android занимает 69,2% мирового рынка мобильных устройств. Конечно, этот факт привлекает внимание многих разработчиков создавать мобильные приложения, специально для Android. Возможно, на сегодняшний день она является самой популярной и интересной системой. Разработчики дают пользователям уникальную возможность – установив набор свободного программного обеспечения, можно создать программы для системы и продавать их в специализированном интернет-магазине [10].

    1. Описание предметной области

Операционная система Android основана на платформе Linux для мобильных устройств, разработанных Open Handset Alliance (OHA), инициированной Google. Она позволяет создавать приложения на основе Java, которые управляют устройством через библиотеки, разработанные Google. Кроме того, можно писать приложения на C и других языках программирования с помощью Android Native Development Kit.1.5 (Cupcake), выпущеной 30 апреля 2009 г. Среди основных улучшений появилась поддержка записи и просмотра видео в режиме камеры; поддержка Bluetooth A2DP; возможность автоматического подключения к Bluetooth-гарнитуре.

Первое устройство, которое работало под управлением Android, стал разработанный HTC смартфон T-Mobile G1, который был запущен 23 сентября 2008. Вскоре последовали многочисленные анонсы других производителей смартфонов, планирующих выпустить устройства с Android.

Имеется несколько основных преимуществ Google, которые отличают устройств на базе платформы Android от аналогичных продуктов [13; 152]:

  1. Открытость Android позволяет получить доступ к основным функциям мобильного устройства, используя стандартный API вызов.
  2. Разрушение границ можно объединять информацию из Интернета с данными телефона, например, контактную информацию или географических данных о местоположении, чтобы получить новые возможности.
  3. Равенство приложений для Android нет никакой разницы между основными телефонными приложениями и программным обеспечением сторонних производителей вы можете даже изменить программу для набора номера или заставку.
  4. Быстро и легко разрабатывать приложения в SDK есть все необходимое для создания и запуска Android-приложений, в том числе имитатор настоящего прибора и передовые инструменты отладки.

Гибкость Android имеет цену: компании, предпочитая разрабатывать свои собственные пользовательские интерфейсы, постоянно стремятся к выпускам новых версий ОС. Устройства, что выпустили несколько месяцев назад, становятся устаревшими, поскольку операторы и производители не хотят создавать обновления программного обеспечения, так что пользователи могут использовать новые функции Android. Например, многие эксперты отмечают, что платформа основана на Java, поэтому преимущества и возможности операционной системы Linux на Android не используются в полной мере. Она также не использует в платформе любые из популярных графических инструментов (Toolkit) и библиотек (например, Ot или GTK), что делает маловероятным появление большого числа приложений, перенесенных на Linux с полной версии для домашнего компьютера на мобильную платформу из-за отсутствия общего сервера и библиотеке изображений. Кроме того, сообщалось, что Google будет по своему усмотрению удалять приложение на телефонах пользователя, если нарушаются условия их использования.

Аналитики и эксперты предсказывают для ИТ-рынка Google Android хорошие коммерческие перспективы, в принципе, для продуктов на базе программного обеспечения с открытым исходным кодом, что уже не является сенсацией [15; 127]. Они постепенно занимают ИТ пространство, вытесняя из него признанных лидеров, создавая конкуренцию, что само по себе может только оказать положительное влияние на восстановление рынка.

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

 

  1. ОПЕРАЦИОННАЯ СИСТЕМА ANDROID

    1. Архитектура Android

C точки зрения программиста, Android платформа, которая абстрагирует разработчика от ядра, и позволяет ему создать код в Java. Android имеет несколько полезных функций. Во-первых, это основа предлагает большой набор API для создания различных типов приложений, а также обеспечивает возможность повторного использования и замены компонентов, предлагаемых приложениями платформы и сторонних производителей. Во-вторых, наличие виртуальной машины Dalvik, отвечает за запуск приложений на Android. Кроме того, услуги множества разработчиков графических библиотек для 2D и 3D приложений, поддерживают мультимедийные форматы (Ogg Vorbis, MP3, MPEG-4, H.264, PNG), API для доступа к камере, GPS, компас, акселерометр, сенсорный экран, джойстик или клавиатура. Существует даже специальный API для воспроизведения фоновых звуковых эффектов, что полезно для нас в разработке игр. Не все Android-устройства имеют все эти возможности есть аппаратное подразделение. Конечно, у Android не исчерпывается список возможностей упомянутых здесь. Тем не менее, для разработки игр они являются наиболее важными. Android-архитектура формируется из множества компонентов. Каждый компонент основан на элементах нижнего уровня. На рис. 1 представлен обзор основных компонентов Android [14; 351].

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

Среда выполнения Android, построенная вокруг ядра, отвечает за разработку и осуществление Android приложений. Каждая программа работает в своем собственном процессе со своей собственной виртуальной машиной Dalvik.

Dalvik запускает программы в формате байткодом DEX. Java-файлы с классом преобразованы в формат DEX с помощью специального инструмента DX, доступном в SDK. формат DEX занимает гораздо меньше места в памяти, чем классический тип файлов CLASS, что достигается за счет высокой степени сжатия, разделения на таблицы и объединения несколько CLASS-файлов.

 

Рисунок 1 Обзор архитектуры

 

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

До Android 2.2 (Froyo) весь код был интерпретирован. В Froyo было введено отслеживание JIT-компилятора, который может компилировать части байткода в машинный код на лету. Это значительно повышает производительность приложений, которые требуют большего количества вычислений. JITкомпилятор может использовать возможности процессоров, которые специально разработаны для сложных вычислений, таких как операции с плавающей запятой. Кроме того, он включал свой собственный сборщик мусора Dalvik (Garbage Collector, GC). Он работает по принципу "уведомить и забрать", что иногда ставит разработчиков в тупик. Тем не менее, если его тщательно изучить, то он может быть эффективно использован в разработке игр. Каждое приложение, работающее в экземпляре виртуальной машины Dalvik, имеет в своем распоряжении от 16 до 24Mb RAM. Это необходимо иметь в виду, используя картинки и звуковые ресурсы.

В дополнение к основным библиотекам, которые предлагают некоторые функциональные возможности Java SE, есть также множество собственных библиотек в C / C ++, которые помогают создать основу для применения структуры. Эти системные библиотеки в основном отвечает за комплекс функций (рисование графики, воспроизведение звука, доступ к базе данных), что не очень подходит для виртуальной машины Dalvik. API развернул их с помощью классов Java в рамках приложения, которое используется для написания игр.

Фреймворк связывает системные библиотеки и среды выполнения, создавая тем самым привязку к Android. Структура управляет приложениями и предлагает сложную среду, в которой они работают. Разработчики создают приложения для этой структуры с набором API-интерфейсов в Java, охватывающих такие области, как разработка пользовательского интерфейса, фоновые службы, уведомления, управление ресурсами, доступ к периферийным устройствам и т.д. Все виды ключевых приложений, которые поставляются с операционной системой Android (например, клиент электронной почты), написаны с помощью API. Приложения, интерфейс или фоновые службы могут взаимодействовать с другими приложениями. Это соединение позволяет одному приложению использовать другие компоненты. Простой пример это программа, которая делает фото-образ, а затемможет обработать его. Приложение запрашивает у системы другой компонент приложения, который обеспечивает это действие. Далее, первое приложение может повторно использовать этот компонент (например, от встроенной в приложение камеры или из фотогалереи). Этот алгоритм удаляет значительную часть бремени от программиста, и позволяет настроить поведение многообразия аспектов Android.

Для разработки собственного приложения необходимо изучить инструментарий комплекта для разработки программ Android Software Development Kit (SDK).

    1. Эмулятор для разработки приложений Android SDK

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

Комплект для разработки программного обеспечения (SDK) для Android поставляется с Android Studio, плагином, который называется набором инструментальных средств для разработки на Android (ADT). Этот инструмент разработки IDE (IDE) для создания, отладки и тестирования приложений на Java. Android SDK может использоваться без ADT; вместо инструментов, можно использовать инструменты командной строки. Эмулятор поддерживает использование обоих подходов, и с его помощью можно запустить, исправить и проверить приложения. 90% разработки приложений может быть завершена, даже без использования реального устройства. Полностью функциональный эмулятор для Android воспроизводит наиболее изученные характеристики устройства. Среди тех функций, которые не могут быть имитированы в эмуляторе, являются USB-подключение, работа камеры и видео, имитация работы наушников, батареи и технологии Bluetooth.

Android Emulator базируется на технологии с открытым исходным кодом "имитация" процессора под названием QEMU, который был разработан Беллар. Та же самая технология может эмулировать одну операционную систему на другой, независимо от того, какая используется процессором. QEMU обеспечивает эмуляцию уровня процессора[12; 425].

При использовании эмулятор Android имитирует процессор, который функционирует на базе ARM (Advanced RISC Machine, Advanced RISCмашина). ARM 32-разрядная архитектура микропроцессоров на базе RISC (Reduced Instruction Set Computer, компьютер с сокращенным набором команд команд), которая за счет сокращения количества команд достигает простоты конструкции и повышение производительности. Эмулятор использует процессор в такой моделируемой версии Linux, которая используется в Android.

ARM широко используется в мобильных устройствах и встроенных электронных устройствах, где важно распределить небольшое количество энергии. Многие имеющиеся в продаже мобильные устройства имеют процессоры с этой архитектурой. Например, Apple Newton на базе процессора ARM6. Игровые автоматы, Nintendo DS и Game Boy Advance работают на архитектуре ARM версии 4, которая использует около 30 000 транзисторов. Классический Pentium содержит 3,2 миллиона транзисторов.

 

    1. Компоненты пользовательского интерфейса ANDROID

Пользовательский интерфейс используемый в рамках ОС Android, сравним с другими полнофункциональными UI-структурами, применяемыми на локальных компьютерах. Это более современный и асинхронный характер. На самом деле, UI- фреймворк Android принадлежит к четвертому поколению, если считать первое поколение традиционного прикладного программирования интерфейса Microsoft Windows, основанный на C и MFC (классов Microsoft Foundation, Microsoft библиотеки базовых классов, основанных на C ++ ) второй. В этом случае, Swing UI- фреймворк, основанный на Java, будет третьим поколением, и,как было предложено в его конструктивных возможностях, намного превосходит MFC по гибкости. Android UI, JavaFX, Microsoft Silverlight и язык Mozilla XML (XUL) пользовательские интерфейсы включают новый тип UI-фреймворк четвертого поколения, который является декларативным UI и поддерживает независимую тематизацию[11; 278].

При программировании в пользовательском интерфейсе Android используется объявление интерфейса в файлах XML. Тогда определение представления XML загружаются в приложение с пользовательским интерфейсом, как в Windows. Даже меню приложения загружаются из файла XML. Экраны (окна) Android часто называют деятельностью, которые включают в себя несколько типов и пользователи должны выполнить логический элемент процесса. Виды (представления) являются основными элементами, которые находятся в пользовательском интерфейсе Android. Формы могут быть объединены в группы (группы Видов). Для внутренней организации этого вида, они используют в течение длительного времени известную в программировании концепцию холста и взаимодействие пользователя с системой.

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

Одним из ключевых понятий базы является управление Android-Power жизненным циклом окон событий (окна деятельности). Протоколы системы используются, так что Android может управлять ситуацией пока пользователь, выполняет действиячтобы скрыть, восстановить, остановить и закрыть окно явления.

Основные компоненты Android

Фреймворк для пользовательского интерфейса Android, вместе с другими компонентами Android основан на новой сущности, называется намерение. Намерение это сложный феномен, который сочетает в себе идеи, такие как сообщения, отображаемые в окне, действия модель "публикации и подписки", обмен межпроцессной информацией и регистрами приложений. Ниже приведен пример использования класса Intent для активации или запуска веб-браузера:

 

Информация о работе Мобильное приложение на android