Разработка мобильного приложения справочной информации фитнес-центров города Самара под ОС Android

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.08.2018
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Федеральное агентство связи

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Поволжский государственный университет телекоммуникаций и информатики»

Факультет Информационных систем и технологий

Направление Информатика и вычислительная техника

Кафедра Программного обеспечения и управления в технических системах

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

Разработка мобильного приложения справочной информации фитнес-центров города Самара под ОС Android

Разработал Н.А. Костина

Самара 2017

Введение

Бурное развитие информационных технологий в последнее время привело к тому, что появилось много новых устройств и технологий, таких, как планшеты, смартфоны, нетбуки, другие гаджеты. Мир все больше стал уходить от понятия компьютера как исключительно стандартного персонального компьютера. Смартфоны и прочие гаджеты все более прочно входят в нашу жизнь и становятся привычным дело. Лидирующей платформой среди подобных гаджетов на сегодняшний день является ОС Андроид. По разным подсчетам за 2015 год этой операционной системой пользуются около 82% владельцев смартфонов.

ОС Андроид была создана разработчиком Энди Рубином (Andy Rubin) в качестве операционной системы для мобильных телефонов и поначалу развивалась в рамках компании Android Inc. Но в 2005 году Google покупает Android Inc. и начинает развивать операционную систему с новой силой. На данный момент (март 2017 года) последней версией является Android 7.1 Nougat, которая вышла в октябре 2016 года.

За методологическую основу исследования взяты важные аспекты, описанные в книге Android для разработчиков 3-е издание, авторов Пол Дейтел, Харви Дейтел и Александер Уолд. В этой книге описание все современные подходы к проектированию и разработке программного обеспечения под ОС Android.

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

Целью моей работы является разработка мобильного приложения справочной информации фитнес-центров города Самара под ОС Android.

Объектом исследования является платформа Android, на которой будет проектироваться, и разрабатываться приложение.

Предмет исследования объединяет в себе теоретические основы разработки мобильных приложений.

Передо мной были поставлены следующие задачи:

· рассмотреть теоретические основы разработки приложений;

· рассмотреть теоретические аспекты тестирования приложений;

· создать и проанализировать требования к разработке;

· провести проектирование графической составляющей приложения;

· выбрать соответствующие библиотеки;

· разработать приложение «справочной информации фитнес-центров города Самара под ОС Android»;

· описать функциональность приложения.

Структура моей работы:

· введение;

· особенности разработки Android приложений;

· постановка задачи разработки Android приложения;

· разработка мобильного приложения справочной информации фитнес-центров города Самара под ОС Android;

· функционирование мобильного приложения справочной информации фитнес-центров города Самара под ОС Android;

· заключение.

1. Особенности разработки Android приложений

1.1 Устройство платформы Android

Платформа Android объединяет операционную систему, построенную на основе ядра ОС Linux, промежуточное программное обеспечение и встроенные мобильные приложения.

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

· базовый уровень (Linux Kernel) - уровень абстракции между аппаратным уровнем и программным стеком;

· набор библиотек и среда исполнения (Libraries & Android Runtime) обеспечивает важнейший базовый функционал для приложений, содержит виртуальную машину Dalvik и базовые библиотеки Java необходимые для запуска Android приложений;

· уровень каркаса приложений (Application Framework) обеспечивает разработчикам доступ к API, предоставляемым компонентами системы уровня библиотек;

· уровень приложений (Applications) - набор предустановленных базовых приложений.

Наглядное изображение архитектуры на рис. 1.1 .

Рассмотрим компоненты платформы более подробно. В основании компонентной иерархии лежит ядро ОС Linux 2.6 (несколько урезанное), служит промежуточным уровнем между аппаратным и программным обеспечением, обеспечивает функционирование системы, предоставляет системные службы ядра: управление памятью, энергосистемой и процессами, обеспечение безопасности, работа с сетью и драйверами.

Уровнем выше располагается набор библиотек и среда исполнения. Библиотеки реализуют следующие функции:

Рис. 1.1 - Архитектура Android

· предоставляют реализованные алгоритмы для вышележащих уровней;

· обеспечивает поддержку файловых форматов;

· осуществляет кодирование и декодирование информации (например, мультимедийные кодеки);

· выполняет отрисовку графики и т.д.

Библиотеки реализованы на С/С++ и скомпилированы под конкретное аппаратное обеспечение устройства, вместе с которым они и поставляются производителем в предустановленном виде.

Среда исполнения включает в себя библиотеки ядра, обеспечивающие большую часть низкоуровневой функциональности, доступной библиотекам ядра языка Java, и виртуальную машину Dalvik, позволяющую запускать приложения. Каждое приложение запускается в своем экземпляре виртуальной машины, тем самым обеспечивается изоляция работающих приложений от ОС и друг от друга. Для исполнения на виртуальной машине Dalvik Java-классы компилируются в исполняемые файлы с расширением .dex с помощью инструмента dx, входящего в состав Android SDK. DEX (Dalvik EXecutable) - формат исполняемых файлов для виртуальной машины Dalvik, оптимизированный для использования минимального объема памяти. При использовании IDE Eclipse и плагина ADT (Android Development Tools) компиляция классов Java в формат .dex происходит автоматически.

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

На еще более высоком уровне располагается каркас приложений (Application Framework), архитектура которого позволяет любому приложению использовать уже реализованные возможности других приложений, к которым разрешен доступ. В состав каркаса входят следующие компоненты:

· богатый и расширяемый набор представлений (Views), который может быть использован для создания визуальных компонентов приложений, например, списков, текстовых полей, таблиц, кнопок или даже встроенного web-браузера;

· контент-провайдеры (Content Providers), управляющие данными, которые одни приложения открывают для других, чтобы те могли их использовать для своей работы;

· менеджер ресурсов (Resource Manager), обеспечивающий доступ к ресурсам без функциональности (не несущим кода), например, к строковым данным, графике, файлам и другим;

· менеджер оповещений (Notification Manager), позволяющий приложениям отображать собственные уведомления для пользователя в строке состояния;

· менеджер действий (Activity Manager), управляющий жизненными циклами приложений, сохраняющий историю работы с действиями, предоставляющий систему навигации по действиям;

· менеджер местоположения (Location Manager), позволяющий приложениям периодически получать обновленные данные о текущем географическом положении устройства.

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

И, наконец, самый высокий, самый близкий к пользователю уровень приложений. Именно на этом уровне пользователь взаимодействует со своим устройством, управляемым ОС Android. Здесь представлен набор базовых приложений, который предустановлен на ОС Android. Например, браузер, почтовый клиент, программа для отправки SMS, карты, календарь, менеджер контактов и др. Список интегрированных приложений может меняться в зависимости от модели устройства и версии Android. К этому уровню также относятся все пользовательские приложения.

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

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

Для пополнения коллекции приложений своего мобильного устройства пользователь может воспользоваться приложением Google Play, которое позволяет покупать и устанавливать приложения с сервиса Google Play. Разработчики, в свою очередь, могут выкладывать свои приложения в этот сервис, Google Play отслеживает появление обновлений приложения, сообщает пользователям этого приложения об обновлении и предлагает установить его. Также Google Play предоставляет разработчикам доступ к услугам и библиотекам, например, доступ к использованию и отображению Google Maps.

Для установки приложения на устройствах с ОС Android создается файл с расширением *.apk (Android package), который содержит исполняемые файлы, а также вспомогательные компоненты, например, файлы с данными и файлы ресурсов. После установки на устройство каждое приложение "живет" в своем собственном изолированном экземпляре виртуальной машины Dalvik.

1.2 Основные виды Android-приложений

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

· приложения переднего плана выполняют свои функции только, когда видимы на экране, в противном же случае их выполнение приостанавливается. Такими приложениями являются, например, игры, текстовые редакторы, видеопроигрыватели. При разработке таких приложений необходимо очень внимательно изучить жизненный цикл активности, чтобы переключения в фоновый режим и обратно проходили гладко (бесшовно), т. е. при возвращении приложения на передний план было незаметно, что оно вообще куда-то пропадало. Для достижения этой гладкости необходимо следить за тем, чтобы при входе в фоновый режим приложение сохраняло свое состояние, а при выходе на передний план восстанавливало его. Еще один важный момент, на который обязательно надо обратить внимание при разработке приложений переднего плана, удобный и интуитивно понятный интерфейс;

· фоновые приложения после настройки не предполагают взаимодействия с пользователем, большую часть времени находятся и работают в скрытом состоянии. Примерами таких приложений могут служить, службы экранирования звонков, SMS-автоответчики. В большинстве своем фоновые приложения нацелены на отслеживание событий, порождаемых аппаратным обеспечением, системой или другими приложениями, работают незаметно. Можно создавать совершенно невидимые сервисы, но тогда они будут неуправляемыми. Минимум действий, которые необходимо позволить пользователю: санкционирование запуска сервиса, настройка, приостановка и прерывание его работы при необходимости;

· смешанные приложения большую часть времени работают в фоновом режиме, однако допускают взаимодействие с пользователем и после настройки. Обычно взаимодействие с пользователем сводится к уведомлению о каких-либо событиях. Примерами таких приложений могут служить мультимедиа-проигрыватели, программы для обмена текстовыми сообщениями (чаты), почтовые клиенты. Возможность реагировать на пользовательский ввод и при этом не терять работоспособности в фоновом режиме является характерной особенностью смешанных приложений. Такие приложения обычно содержат как видимые активности, так и скрытые (фоновые) сервисы, и при взаимодействии с пользователем должны учитывать свое текущее состояние. Возможно потребуется обновлять графический интерфейс, если приложение находится на переднем плане, или же посылать пользователю уведомления из фонового режима, чтобы держать его в курсе происходящего. И эти особенности необходимо учитывать при разработке подобных приложений;

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

1.3 Безопасность Android приложений

Обратим внимание на организацию исполнения приложений в ОС Android. Как уже было отмечено приложения под Android разрабатываются на языке программирования Java, компилируется в файл с расширением .apk, после этот файл используется для установки приложения на устройства, работающие под управлением Android. После установки каждое Android приложение "живет" в своей собственной безопасной "песочнице", рассмотрим, как это выглядит:

· операционная система Android является многопользовательской ОС, в которой каждое приложение рассматривается как отдельный пользователь;

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

· система устанавливает права доступа ко всем файлам приложения следующим образом: доступ к элементам приложения имеет только пользователь с соответствующим ID;

· каждому приложению соответствует отдельный Linux процесс, который запускается, как только это необходимо хотя бы одному компоненту приложения, процесс прекращает работу, когда ни один компонент приложения не использует его или же системе требуется освободить память для других (возможно, более важных) приложений;

· каждому процессу соответствует отдельный экземпляр виртуальной машины Dalvik, в связи с этим код приложения исполняется изолировано от других приложений.

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

Однако в случае необходимости приложения могут получить доступ к данным других приложений и системным сервисам (услугам). В случае, когда двум приложениям необходимо иметь доступ к файлам друг друга, им присваивается один и тот же пользовательский ID. Для экономии системных ресурсов такие приложения запускаются в одном Linux процессе и делят между собой один и тот же экземпляр виртуальной машины, в этом случае приложения также должны быть подписаны одним сертификатом. В случае же, когда приложению требуется доступ к системным данным, например, контактам, SMS сообщениям, картам памяти, камере, Bluetooth и т. д., пользователю необходимо дать приложению такие полномочия во время установки его на устройство.

1.4 Архитектура приложения, основные компоненты

Архитектура Android приложений основана на идее многократного использования компонентов, которые являются основными строительными блоками. Каждый компонент является отдельной сущностью и помогает определить общее поведение приложения.

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

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

Можно выделить четыре различных типа компонентов, каждый тип служит для достижения определенной цели и имеет свой особый жизненный цикл, который определяет способы создания и разрушения соответствующего компонента. Рассмотрим основные компоненты Android-приложений.

Активности (Activities). Активность - это видимая часть приложения (экран, окно, форма), отвечает за отображение графического интерфейса пользователя. При этом приложение может иметь несколько активностей, например, в приложении, предназначенном для работы с электронной почтой, одна активность может использоваться для отображения списка новых писем, другая активность - для написания, и еще одна - для чтения писем. Несмотря на то, что для пользователя приложение представляется единым целым, все активности приложения не зависят друг от друга. В связи с этим любая из этих активностей может быть запущена из другого приложения, имеющего доступ к активностям данного приложения. Например, приложение камеры может запустить активность, создающую новые письма, чтобы отправить только что сделанную фотографию адресату, указанному пользователем.

Сервисы (Services). Сервис - компонент, который работает в фоновом режиме, выполняет длительные по времени операции или работу для удаленных процессов. Сервис не предоставляет пользовательского интерфейса. Например, сервис может проигрывать музыку в фоновом режиме, пока пользователь использует другое приложение, может загружать данные из сети, не блокируя взаимодействие пользователя с активностью. Сервис может быть запущен другим компонентом и после этого работать самостоятельно, а может остаться связанным с этим компонентом и взаимодействовать с ним.

Контент-провайдеры (Content providers). Контент-провайдер управляет распределенным множеством данных приложения. Данные могут храниться в файловой системе, в базе данных SQLite, в сети, в любом другом доступном для приложения месте. Контент-провайдер позволяет другим приложениям при наличии у них соответствующих прав делать запросы или даже менять данные. Например, в системе Android есть контент-провайдер, который управляет информацией о контактах пользователя. В связи с этим, любое приложение с соответствующими правами может сделать запрос на чтение и запись информации какого-либо контакта. Контент-провайдер может быть также полезен для чтения и записи приватных данных приложения, не предназначенных для доступа извне.

Приемники широковещательных сообщений (Broadcast Receivers). Приемник - компонент, который реагирует на широковещательные извещения. Большинство таких извещений порождаются системой, например, извещение о том, что экран отключился или низкий заряд батареи. Приложения также могут инициировать широковещание, например, разослать другим приложениям сообщение о том, что некоторые данные загружены и доступны для использования. Хотя приемники не отображают пользовательского интерфейса, они могут создавать уведомление на панели состояний, чтобы предупредить пользователя о появлении сообщения. Такой приемник служит проводником к другим компонентам и предназначен для выполнения небольшого объема работ, например, он может запустить соответствующий событию сервис.

Все рассмотренные компоненты являются наследниками классов, определенных в Android SDK.

Рис. 1.2 - Иерархия классов Android SDK

На рис. 1.2 показана иерархия основных классов Android SDK, с которыми обычно имеет дело разработчик. На самом деле классов намного больше, желтым цветом выделены классы, с которыми разработчик работает непосредственно, наследует от них свои классы. Остальные классы не менее важны, но они реже используются напрямую. Для начала рассмотрим классы Intent и View.

Класс View является основным строительным блоком для компонентов пользовательского интерфейса (UI), он определяет прямоугольную область экрана и отвечает за прорисовку и обработку событий. Является базовым классом для виджетов (GUI widgets), которые используются для создания интерактивных компонентов пользовательского интерфейса: кнопок, текстовых полей и т. д. А также является базовым классом для класса ViewGroup, который является невидимым контейнером для других контейнеров и виджетов, определяет свойства расположения компонентов пользовательского интерфейса. Интерфейс Android-приложения представляет собой иерархию UI компонентов (см. рис. 1.3), можно описать эту иерархию программно, но более простым и эффективным способом задать расположение элементов интерфейса является XML файл, который предоставляет удобную для восприятия структуру компоновки (layout file). Во время исполнения XML файл автоматически превращается в дерево соответствующих объектов.

Рис. 1.3 - Иерархия компонентов, определяющая компоновку интерфейса пользователя

Объекты-экземпляры класса Intent используются для передачи сообщений между основными компонентами приложений. Известно, что три из четырех основных компонентов: активности, сервисы и приемники широковещательных сообщений, могут быть активированы с помощью сообщений, которые называются намерениями. Такие сообщения являются инструментом позднего связывания компонентов одного или нескольких приложений. Экземпляр класса Intent представляет собой структуру данных, содержащую описание операции, которая должна быть выполнена, и обычно используется для запуска активности или сервиса. В случае с приемниками широковещательных сообщений объект Intent содержит описание события, которое произошло или было объявлено.

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

· Чтобы запустить активность или вызвать у работающей активности новое действие, необходимо передать объект-намерение в метод Context.startActivity() или Activity.startActivityForResult().

· Чтобы запустить сервис или доставить новые инструкции работающему сервису, необходимо передать объект-намерение в метод Context.startService(). Также объект-намерение может быть передан в метод Context.bindService(), чтобы связать между собой вызывающий компонент и сервис.

· Чтобы доставить объект-намерение всем заинтересованным приемникам широковещательных сообщений, необходимо передать его в любой из широковещательных методов: Context.sendOrderedBroadcast(), Context.sendStickyBroadcast(), Context.sendBroadcast().

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

На рис. 1.4 можно увидеть, как происходит передача намерений (Intent), в данном случае одна активность запускает другую. Активность А создает намерение (Intent) с описанием действия и передает его в метод startActivity(). Система Android проверяет все приложения на совпадение с намерением, когда совпадение найдено, система запускает соответствующую активность, для чего вызывает метод onCreate() и передает в него объект-намерение Intent.

Рис. 1.4 - Передача намерений (Intent)

1.5 Принципы тестирования мобильных приложений

Можно выделить следующие принципы тестирования мобильных приложений:

Принцип 1: Постоянная мобильность. Главное отличие мобильного от Desktop ПО заключается в том, что с мобильным телефоном вы передвигаетесь, тщетно ловите Wi-FI в столовых ваших вузов (совершая характерные движения руками), бегаете и вообще по максимуму загружаете все возможные сенсоры движений, что китайские умельцы встроили в него. Забывать об этом смерти подобно. Кто-то может сказать, что глупо бегать по офису, меняя ориентации экрана и теряя-восстанавливая коннект. На это у меня есть 2 контр-примера из жизни:

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

· крэш в приложении при “потряхивании” девайса в момент совершения этим девайсом фотосъёмки (приложение изначально создавалось для создания фото).

Принцип 2: Ловля Wi-Fi на живца. Большая часть современных приложений, так или иначе, использует сеть. Далеко не всегда это “полный коннект”. Поэтому обязательно необходимо тестировать приложение как минимум 4-мя способами:

· позитивный кейс (наличие отличной постоянной связи);

· наличие постоянной неотличной связи;

· отсутствие связи;

· потеря связи.

Большинство пользователей вряд ли увидят ваши крэшы, но могут перестать пользоваться приложением, если оно плохо грузит и сохраняет данные при их (пользователей) проблемном коннекте. На случай отсутствия связи должны быть отображены хотя бы какие-то плейсхолдеры (чтобы пользователь мог понять, что приложение не может прогрузить данные сейчас). Ну и конфетка для тестера - потеря связи. Пользователи будут сталкиваться с этим постоянно, и тут самое важное: избежать по возможности потери данных.

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

· неожиданно получить звонок (смс, напоминание, нотификацию и т.д.);

· закрыть приложение для того, чтобы открыть какое-то другое на некоторое время и вернуться к вашему приложению позже;

· послать девайс в сон на некоторое время.

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

Принцип 4: Особенности операционных систем и железа. Данный принцип находится тут с явной натяжкой, но всё же, я считаю, что ОС и железо, установленное в мобильных устройствах, сказывается на производительности ПО намного сильнее, чем в десктопах. Почему?

· Android и iOS существенно отличаются от десктопных систем. Активности (и их стэк), интенты, броадкаст ресиверы, манифест файл (с указанием permissions и user features), доступ к ресурсам, кэш и данные приложений - всё это и многое другое нужно хотя бы бегло изучить для того, чтобы понимать, как ваше приложение работает в данной конкретной среде, что может привести к его (приложения) отказу или потере данных. Отсюда вытекает тестирование перехода между состояниями, тестирование для нахождения утечек памяти и прочее. Всё это необходимо для полноценного обеспечения качества приложения.

· Прогресс не стоит на месте, но железо смартфонов всё ещё сильно ограничено по сравнению с настольными системами. Особенно важно то, сколько ваше приложение занимает оперативной памяти, при каких условиях система автоматически “выпилит” его из этой самой памяти, как приложение будет себя вести в этой ситуации.

Принцип 5: Человеческий фактор. Если приложение рассчитано на широкую аудиторию, будьте готовы к тому, что куча людей, бесконечно далёких от разработки ПО, будет вести себя совершенно по-разному с вашим приложением. Тут важно понимать, что мы не можем просчитать все возможные случаи использования приложения всеми пользователями. Но проверить, что приложение корректно выполняет весь свой функционал на основных юз-кейсах мы обязаны. Неплохо также обезопасить себя, пробежавшись по приложению в качестве пользователя-«дурачка», тыкая во всё подряд, открывая и закрывая активности, не дожидаясь загрузки данных и т.д. Проблема с “замыленным глазом” решается путём привлечения в процесс ваших друзей и родственников. Просто дайте им приложение в руки и посмотрите, как они будут им пользоваться. Это даст вам примерную (насколько примерную зависит, конечно, от величины выборки) картину того, что следует тестировать в первую очередь и на что обратить внимание.

2. Постановка задачи разработки Android приложения

2.1 Выбор среды разработки под ОС Android

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

К обязательным инструментам относится Android SDK - набор средств программирования, который содержит инструменты, необходимые для создания, компиляции и сборки мобильного приложения.

Рассмотрим кратко наиболее важные инструменты, входящие в состав Android SDK:

Рис. 2.1 - Android SDK Manager

· SDK Manager - инструмент, позволяющий загрузить компоненты Android SDK. Показывает пакеты Android SDK и их статус: установлен (Installed), не установлен (Not Installed), доступны обновления (Update available).

· Debug Monitor - самостоятельный инструмент, предоставляющий графический интерфейс к нескольким инструментам, предназначенным для анализа и отладки Android приложений:

· DDMS (Dalvik Debug Monitor Server) предоставляет услуги переброса портов, захват экрана устройства, информацию о потоках и динамической памяти устройства, вывод информации о действиях Android в реальном времени (logcat) и многое другое.

· Hierarchy Viewer позволяет отлаживать и оптимизировать пользовательский интерфейс Android приложения.

· Tracer for OpenGL ES - инструмент для анализа OpenGL|ES кода, используемого в мобильном приложении, позволяет захватывать команды OpenGL|ES и демонстрировать их по отдельным кадрам, что помогает понять как исполняются графические команды.

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

· AVD Manager - предоставляет графический интерфейс для создания виртуальных Android устройств (AVDs), предусмотренных Android Emulator, и управления ими.

· Android Debug Bridge (adb) - гибкий инструмент, позволяющий управлять состоянием эмулятора или реального Android устройства, подключенного к компьютеру. Также может использоваться для установки Android приложения (.apk файл) на реальное устройство.

Мы рассмотрели основные инструменты, входящие в состав Android SDK, разумеется, не все и недостаточно подробно.

Рис. 2.2 - Окно инструмента Monitor

Для более серьезного изучения инструментов имеет смысл обратиться к сайту разработчиков. Для разработки мобильных приложений под Android уверенного владения инструментами из SDK вполне достаточно. Если же возникают какие-то вопросы, дополнительные инструкции по созданию проектов, компиляции, запуску из командной строки содержатся в руководстве от Google.

В современных условиях разработка ПО в большинстве случаев ведется с использованием интегрированных сред разработки (IDE). IDE имеют несомненные достоинства: процесс компиляции, сборки и запуска приложения обычно автоматизирован, в связи с чем для начинающего разработчика создать свое первое приложение труда не составляет. Но чтобы заниматься разработкой всерьез, необходимо потратить силы и время на изучение возможностей самой среды. Рассмотрим IDE, пригодные для разработки под Android.

Для начала поговорим о двух средах разработки, которые рекомендует Google: Android IDE (ADT) и Android Studio.

Android IDE - среда разработки под Android, основанная на Eclipse. Предоставляет интегрированные инструменты для разработки, сборки и отладки мобильных приложений. В данном курсе Android IDE выбрана в качестве основной среды разработки. Возможности этой среды более подробно рассмотрены в первой лабораторной работе. Также там даны рекомендации по установке и настройке среды, созданию и запуску первого приложения как на эмуляторе, так и на реальном устройстве.

Android Studio - среда разработки под Android, основанная на IntelliJ IDEA. Подобно Android IDE, она предоставляет интегрированные инструменты для разработки и отладки. Дополнительно ко всем возможностям, ожидаемым от IntelliJ, в Android Studio реализованы:

· поддержка сборки приложения, основанной на Gradle;

· специфичный для Android рефакторинг и быстрое исправление дефектов;

· lint инструменты для поиска проблем с производительностью, с юзабилити, с совместимостью версий и других;

· возможности ProGuard (утилита для сокращения, оптимизации и обфускации кода) и подписи приложений;

· основанные на шаблонах мастера для создания общих Android конструкций и компонентов;

· WYSIWYG редактор, работающий на многих размерах экранов и разрешений, окно предварительного просмотра, показывающее запущенное приложение сразу на нескольких устройствах и в реальном времени;

· встроенная поддержка облачной платформы Google.

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

Перейдем к рассмотрению других инструментов, пригодных для разработки мобильных приложений под Android. Начнем с инструментов от Intel - Intel XDK и Intel Beacon Mountain.

Рис. 2.3 - Среда разработки Android Studio

Intel XDK позволяет легко разрабатывать кроссплатформенные мобильные приложения; включает в себя инструменты для создания, отладки и сборки ПО, а также эмулятор устройств; поддерживает разработку для Android, Apple iOS, Microsoft Windows 8, Tizen; поддерживает языки разработки: HTML5 и JavaScript.

Последняя тема данного курса полностью посвящена изучению нового поколения инструментальных средств разработки мобильных HTML5-приложений и Intel XDK, предполагается разработка мобильного приложения с использованием этих инструментов.

Intel Beacon Mountain - среда разработки, позволяющая создавать приложения для устройств, работающих под управлением ОС Android. Предоставляет инструменты необходимые для проектирования, разработки, отладки и оптимизации приложений под Android. Освобождает разработчика от необходимости поддерживать систему разработки в актуальном состоянии, следит за обновлениями и добавляет их в среду разработки по мере появления. Поддерживает разработку для целевых платформ на основе процессоров Intel Atom и ARM.

Beacon Mountain построена на основе Android IDE (Eclipse, Android ADT, Android SDK), для более серьезной разработки и оптимизации добавлены следующие инструменты Intel:

· Intel* Hardware Accelerated Execution Manager (Intel* HAXM) - аппаратно поддерживаемый процессор виртуализации, использующий технологию виртуализации Intel* (Intel* VT) для ускорения работы эмулятора в среде разработки.

· Intel* Graphics Performance Analyzers (Intel* GPA) System Analyzer поддерживает мобильные устройства с процессором Intel Atom под управлением ОС Android. Позволяет разработчикам оптимизировать загруженность системы при использовании процедур OpenGL, предоставляя возможность получать множество системных метрик в реальном времени, отображающих загруженность CPU, GPU и OpenGL ES API. Разработчик может запустить несколько графических экспериментов для выявления узких мест в обработке графики.

· Intel* Integrated Performance Primitives (Intel* IPP) Preview - библиотека оптимизированной обработки данных и изображений, поддерживающая мобильные устройства с платформой Intel под управлением ОС Android. Preview версия является частью полной версии Intel IPP, которая тоже поддерживает ОС Android.

· Intel* Threading Building Blocks (Intel* TBB) - широко используемая, признанная библиотека шаблонов С++ для создания масштабируемых приложений и увеличения производительности. Поддерживает мобильные устройства с платформой Intel под управлением Android. Проверенные алгоритмы позволяют разработчикам эффективно распараллелить С++ мобильные приложения, что повышает производительность при снижении энергетических затрат.

Нельзя обойти вниманием инструментарий Marmalade SDK.

Рис. 2.4. - Страница поддержки Intel* Beacon Mountain

Marmalade SDK - кроссплатформенное SDK от Ideaworks3D Limited. Представляет собой набор библиотек, образцов, инструментов и документации, необходимых для разработки, тестирования и развертывания приложений для мобильных устройств. Используется, в основном, для разработки игр. Многие получившие признание игры, такие как Cut the Rope и Plants vs. Zombies, были разработаны с использованием этого программного средства. К сожалению, Marmalade SDK представляет собой проприетарное программное обеспечение (самая дешевая лицензия $15 в месяц) и не может быть рекомендована в данной работе.

2.2 Требования к разрабатываемому приложению

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

Требуется хранить и отображать следующую информацию:

· полное наименование фитнес клуба;

· адрес расположения;

· координаты местоположения по GPS (долгота и широта);

· список предоставляемых услуг;

· цены на годовой абонемент;

· цены на месячный абонемент;

· фотографии фитнес клуба;

· URL адрес официальной страницы в интернете;

· URL адрес официальной страницы в социальной сети VK.com;

· электронная почта менеджера.

На главном окне должен отображаться список фитнес клубов, отсортированный по удаленности от текущего местоположения, с указанием расстояния (в километрах или метрах) (рис. 2.5). Главное окно должно быть реализовано при помощи одной Activity и двух фрагментов. При открытии приложения открывается Activity и вызывается фрагмент List, который отображает список фитнес клубов. Второй фрагмент содержит в себе карту Google Maps с координатами всех фитнес клубов, с указанием текущего местоположения.

При помощи «свайпа» вправо-влево должны переключаться между собой фрагменты. «Свайп» вправо на главном окне откроет фрагмент с Google Maps.

По нажатию на один из фитнес клубов из списка должно открываться новое Activity, которое содержит в себе три фрагмента:

фрагмент с информацией об адресе, телефоне, официальном сайте, электронное почте менеджера и ссылкой на социальную сеть VK.com (рис. 2.6);

фрагмент с фотографиями, расположенными по три в ряд (рис. 2.7);

фрагмент с информацией о ценах и услугах (рис. 2.8).

Рис. 2.5 - Схема главного окна

Рис. 2.6 - Фрагмент с подробной информацией о фитнес клубе

Рис. 2.7 - Фрагмент с фотографиями

Рис. 2.8 - Фрагмент с информацией о ценах и услугах

По умолчанию предусмотрен следующий набор услуг:

· возможны разовые посещения;

· аэробика;

· аквааэробика;

· боевые искусства;

· SPA-процедуры;

· калланетика;

· корпоративный фитнес;

· фитнес для беременных;

· фитнес для детей;

· йога;

· пилатес;

· стретчинг;

· танцевальные программы;

· теннисный корт;

· персональный тренер;

· шейпинг;

· ЭМС-тренировки;

· бассейн;

· бокс;

· массаж;

· сауна;

· солярий;

· спортивное питание;

· наличный расчет;

· оплата через банк;

· расчет по картам.

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

2.3 Описание применяемых библиотек

Использование готовых библиотек очень сильно упрощает процесс разработки, а иногда без использования библиотеки невозможно использовать ту или иную технологию (например, Google Maps). Для реализации всех задуманных требований понадобятся следующие библиотеки:

· com.android.support:appcompat-v7;

· com.android.support:support-v4;

· com.android.support:recylcerview-v7;

· com.android.support:design;

· com.google.andoid.gms:play-services-maps;

· com.squareup.retrofit.

Остановимся на каждой подробнее. Библиотека AppCompat (aka ActionBarCompat) появилась как порт нового ActionBar API из Android 4.0 на устройства с Gingerbread. Она представила общий слой API поверх бэкпортированной либо стандартной реализации. AppCompat v7 же приносит API и набор возможностей из Android 5.0. Таким образом, указывая минимально возможную версию приложения Android 4.0 мы можем использовать последние новинки дизайна, которые по умолчанию доступны только на устройствах 5 версии и выше.

Support Library - библиотека, которая на старых версиях Android делает доступными возможности новых версий. Например, фрагменты появились только в третьей версии (API Level 11). Если вы хотите использовать их в своем приложении, это приложение не будет работать на более старых версиях Android, т.к. эти старые версии никогда не слышали про класс android.app.Fragment. Таким образом библиотека support-v4 так же входит в наш список.

RecyclerView, по сути, является эволюцией одного из самых необходимых в Android-разработке виджетов -- ListView. Собственно, предназначение у него ровно то же самое -- отображать список элементов, но есть нюансы:

1. Обязательное использование паттерна ViewHolder. Если при использовании ListView можно было из-за отсутствия опыта использовать адаптер, создающий с нуля отдельное view для каждого элемента списка, что при большом размере списка могло обернуться меньшей отзывчивостью UI и использованием лишней памяти, то при работе с RecyclerView разработчика насильно приводят к имплементации этого паттерна.

2. LayoutManager. Для использования RecyclerView кроме адаптера вам необходимо передать ему с помощью метода setLayoutManager() объект класса, реализующего LayoutManager. Этот класс отвечает за работу с адаптером, именно он решает, переиспользовать View или создать новый, и соответственно, именно он дёргает методы onCreateViewHolder(), onBindViewHolder() и getItemCount() адаптера. Пока доступна только одна реализация этого класса -- LinearLayoutManager, для создания кастомного LayoutManager, необходимо унаследоваться от RecyclerView.LayoutManager.

3. Анимация операций со списком. Если вы смотрели презентацию дизайна Material, то могли заметить, что одной из основных его особенностей является плавность UI, которая достигается с помощью повсеместного использования анимации. Наверняка, при особом желании можно добавить анимацию и в ListView, мне пока не приходилось этим заниматься, но в RecyclerView это делается парой строчек кода: для объекта RecyclerView указывается класс, имплементирующий анимацию.

Новая библиотека поддержки Android Design Support Library делает доступным весь набор компонентов материального дизайна для всех версий, начиная с Android 2.1 и выше:

· Navigation View (для Navigation Drawer) -- панель навигации;

· Floating Labels (для EditText) -- плавающий ярлык;

· Floating Action Button (FAB) плавающая кнопка;

· Snackbar -- всплывающее уведомление с кнопкой;

· Tabs -- вкладки;

· Motion and Scroll framework -- управление жестами и прокруткой.

Библиотека служебных программ Google Maps Android API поддерживает Android API уровня 9 и более поздних версий. Возможности анимированной рекластеризации доступны только для Android API уровня 14 и более поздних версий. Она позволяет использовать виджет MapView и требует наличия Google аккаунта, а так же включенного для него Google Maps API.

Retrofit -- библиотека для работы с REST API. Замечательна она тем, что:

· больше не нужно выводить запросы к API в отдельный поток в коде -- Retrofit это сделает за нас;

· значительно сокращает длину кода и, соответственно, ускоряет разработку;

· динамически строит запросы;

· автоматически конвертирует JSON в объекты (используется библиотека Gson);

· обрабатывает ошибки;

· умеет передавать файлы.

Вся логика работы библиотека завязана на аннотациях. Благодаря им можно создавать динамические запросы на сервер.

3. Разработка мобильного приложения справочной информации фитнес-центров города Самара под ОС Android

3.1 Описание структуры

Начнем разработку с создания нового проекта в IDE Android Studio. Откройте IDE и выберите File - New Project. Откроется окно с выбором названия проекта (рис. 3.1) Введите название приложения: DirectoryFitness.

Рис. 3.1 - Создание нового проекта

Поле Company Domain сгенерируется автоматически. Нажмите «Далее», откроется окно выбор типа приложения. Выберите телефон и планшет (рис. 3.2).

Среда разработки предложит автоматически создать нужный вам интерфейс. Выберите «Add no activity», создадим их сами (рис. 3.3).

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

Рис. 3.2 - Выбор типа приложения

Рис. 3.3 - Выбор предлагаемой Activity

Нам потребуются создать следующий набор классов и интерфейсов:

· GeneralPagerActivity - класс описывающий главную Activity, наследуется от класса AppCompatActivity;

· ListFragment - класс описывающий фрагмент, отображающий список фитнес клубов, отсортированных по удаленности от текущего местоположения, наследуется от класса Fragment;

· MapFragment - класс описывающий фрагмент, отображающий карту Google Maps, наследуется от класса Fragment;

· FitnessClubInfoFragment - класс описывающий фрагмент, отображающий подробную информацию о фитнес клубе;

· FitnessClubPagerActivity - класс описывающий дополнительную Activity, наследуется от класса AppCompatActivity;

· FitnessClubPriceFragment - класс описывающий фрагмент, отображающий информацию о ценах и услугах, наследуется от класса Fragment;

· FitnessCubFotoFragment - класс описывающий фрагмент, отображающий фотографии, наследуется от класса Fragment;

· FitnessClub - класс описывающий структуру информации от фитнес клубе;

· FitnessLab - класс, описывающий фитнес клубы, которые содержаться в приложении, используется как хранилище;

· PhotoFC - класс, описывающий структуру фотографии;

· RouteApi - интерфейс, описывающий GET запрос для получения информации о расстоянии до выбранного фитнес клуба.

· RouteResponse - класс, описывающий результат GET запроса, для разбора данных, полученных с серверов Google.

Создадим текущую структуру, чтобы получилось как на рис. 3.4.

Рис. 3.4 - Структура Java классов

Для удобства классы, относящиеся к разным Activity были разнесены в разные пакеты: info и general.

3.2 Разработка XML разметки

Разметка в Android приложениях реализована при помощи XML файлов, имеющих свои особенности. Для стабильной работы приложения нам потребуется следующий набор Layout файлов:

· Activity_general_pager - контейнер для фрагментов главной Activity;

· Activity_info_pager - контейнер для фрагментов дополнительной Activity;

· Fragment_fcfoto - разметка RecycleView, для отображения фотографий в требуемом формате;

· Fragment_fcinfo - разметка подробной информации о фитнес клубе;

· Fragment_fcprice - разметка информации об услугах и ценах;

· Fragment_listfitness - разметка RecyleView, для отображения списка фитнес клубов;

· Fragment_mapsfitness - разметка Google Maps для отображения карты;

· List_item_fitnessclub - разметка элемента списка;

· List_item_foto_fc - разметка фотографии из списка.

В IDE данный список располагается в папке layout(рис. 3.5).

Рис. 3.5 - Структура Layout файлов в IDE

Пример содержимого файла разметки Activity_general_pager (рис. 3.6 ).

Рис. 3.6 - Пример содержимого Layout файла

3.3 Разработка Java классов

Рассмотрим пример создания Activity, а также подчиненный ей Fragment. Activity содержит в себе метод onCreate, который вызывается единожды при вызове его операционной системой.

Рис 3.7 - Содержимое метода onCreate

Метод содержит в себе поиск соответствующего ему Layout менеджера. В данному случае R.id.activity_general_pager_view_activity. Создается FragmentManager и указываются классы, которые отвечают за тот или иной фрагмент. Фрагмент ListFragment в свою очередь содержит полный набор методов и подклассов для отображения списка фитнес клубов (рис. 3.8).

Рис. 3.8 - Набор методов класса ListFragment

Метод onCreate вызывается родительской Activity и содержит в себе процессы определения местоположения и вычисления расстояний до каждого элемента списка (рис. 3.9).

Рис. 3.9 - Содержимое метода onCreate

После метода onCreate вызывается метод onCreateView, который содержит в себе поиск графических элементов в соответствующем Layout файле (рис. 3.10).

Классы FintessHolder и FitnessAdapter требуются для работы RecylerView, они содержат в себе настройку элементов списка, начальное заполнение списка и обработку нажатий на элементы списка (рис. 3.11)

Рис. 3.10 - Содержимое метода onCreateView

Рис. 3.11 - Содержимое Holder и Adapter для RecylerView

Класс CalculateDistance является наследником класса AsynkTask, при помощи которого экземпляр класса выполняет в отдельном потоке, для того чтобы в момент вычисления местоположения и расстояний до него интерфейс приложения продолжал работать. Подробнее о содержимом класса видно на рис. 3.12.

Рассмотрен пример разработки хоста Activity и Fragment для отображения списка фитнес клубов. Работа остальных классов организована по подобию. Реализация определения местоположения при помощи Google Maps API реализована в классах CalculateDistance, RouteApi и RouteResponse.

Рис. 3.12 - Содержимое класса CalculateDistance

4. Функционирование мобильного приложения справочной информации фитнес-центров города Самара под ОС Android

4.1 Описание приложения

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

Приложение состоит из нескольких навигационных элементов:

· главная activity;

· фрагмент со списком фитнес клубов;

· фрагмент с картой Google;

· второстепенная activity;

· фрагмент с контактной информацией о фитнес клубе;

· фрагмент с фотографиями;

· фрагмент с информацией об услугах и ценах.

Такая структура позволила настроить гибкий дизайн, позволяющий перемещаться между фрагментами одной Acitivty при помощи «свайпов» влево и вправо.

...

Подобные документы

  • Современное состояние рынка мобильных приложений. Основные подходы к разработке мобильных приложений. Обоснование выбора целевой группы потребителей приложения. Этапы проектирования и разработки мобильного приложения для операционной системы Android.

    курсовая работа [987,1 K], добавлен 27.06.2019

  • Структура и архитектура платформы Android. Основные достоинства и недостатки операционной системы Android. Среда разработки Eclipse, платформа Java. Подготовка среды разработки. Вкладка "Погода", "Курс валют", "Новости". Просмотр полной новости.

    дипломная работа [1,0 M], добавлен 11.07.2014

  • Архитектура операционной системы Android, набор библиотек для обеспечения базового функционала приложений и виртуальная машина Dalvik. Объектно-ориентированный язык программирования Java как инструмент разработки мобильных приложений для ОС Android.

    дипломная работа [1,6 M], добавлен 08.07.2015

  • Первое устройство, работающее под управлением Android. Приложения под операционную систему Android. Формат установочных пакетов. Разработка приложений на языке Java. Шаблоны основных пакетов и компонентов Android. Сборка приложений, основанная на Gradle.

    курсовая работа [492,0 K], добавлен 08.02.2016

  • Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.

    курсовая работа [167,8 K], добавлен 18.01.2017

  • Google Android как программный стек для мобильных устройств, который включает операционную систему, программное обеспечение промежуточного слоя и пользовательские приложения. Структура платформы и ее основные элементы: ядро, программы, каркас приложений.

    реферат [600,4 K], добавлен 08.01.2015

  • Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.

    курсовая работа [1,6 M], добавлен 19.04.2017

  • Разработка приложений для смартфонов на ОС Android для сети аптек "Фармация". Архитектура операционной системы Android. Архитектура и реализация приложения. Его функциональность. Описание работы мобильного приложения. Расчет затрат на создание продукта.

    дипломная работа [1,6 M], добавлен 17.06.2017

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

    дипломная работа [2,6 M], добавлен 10.07.2017

  • Характеристика работы операционной системы Android, используемой для мобильных телефонов. Создание Android проекта в среда разработки Eclipse. Общая структура и функции файла манифест. Компоненты Android приложения. Способы осуществления разметки.

    курсовая работа [1,0 M], добавлен 15.11.2012

  • Обзор мобильной ОС Android. Выбор инструментов и технологий. Проектирование прототипа графического интерфейса. Характеристика и описание пользовательского интерфейса. Проектирование и разработка базы данных. Определение списка необходимых разрешений.

    курсовая работа [376,6 K], добавлен 13.09.2017

  • Структура Android-приложений. Особенности игрового движка. Алгоритмизация и программирование. Список игровых состояний. Настройка, отладка и тестирование программы. Разработка руководства пользователя. Тестирование инсталляции и отображения элементов.

    дипломная работа [4,5 M], добавлен 19.01.2017

  • Обзор рынка мобильных приложений, социальных сетей, аналогов. Обзор инструментов разработки: Android Studio, Microsoft visual С# 2012, PostgreeSQL, API Открытых данных Вологодской области, API Социальных сетей. Программный код, разработка интерфейса.

    дипломная работа [2,6 M], добавлен 10.07.2017

  • Разработка программного обеспечения для платформы Android версии 2.3: информационное приложения для поклонников футбольной команды, с возможностью просмотра событий, статистики и иной информации о команде и ее успехах. Листинг JsonDataManager.java.

    дипломная работа [4,1 M], добавлен 24.04.2013

  • Архитектура операционной системы Android. Инструменты Android-разработчика. Установка Java Development Kit, Eclipse IDE, Android SDK. Настройка Android Development Tools. Разработка программы для работы с документами и для осуществления оперативной связи.

    курсовая работа [2,0 M], добавлен 19.10.2014

  • Средства разработки развивающих и обучающих игр и используемой программы. Среда выполнения и Dalvik. Разработка приложения для платформы Android. Графический интерфейс и обработка касаний экрана. Разработка экранов приложения и их взаимодействия.

    дипломная работа [2,1 M], добавлен 18.01.2016

  • Разработка открытой мобильной платформы Android. Первое устройство, работающее под управлением Android. Магазин приложений "Google Play". Полноценные программы навигации, редакторы офисных документов и синхронизационные утилиты. Рост вирусной активности.

    презентация [58,8 K], добавлен 29.10.2014

  • Система помощи водителю на базе регистратора. Установка операционной системы Debian. Настройка системных служб и разработка серверного приложения. Создание локальной Wi-Fi сети. Распознавание знаков и библиотека OpenCV. Потоковое видео в Android.

    дипломная работа [3,9 M], добавлен 13.09.2017

  • Знакомство с особенностями и этапами разработки приложения для платформы Android. Рассмотрение функций персонажа: бег, прыжок, взаимодействие с объектами. Анализ блок-схемы алгоритма генерации платформ. Способы настройки функционала рабочей области.

    дипломная работа [3,4 M], добавлен 19.01.2017

  • Анализ свободно распространяемых систем обучения. Главная контекстная диаграмма (модель AS-IS). Декомпозиция процесса "Регистрация, поддержка пользователей". Выбор методологий моделирования и инструментария. Руководство по установке приложения на Android.

    дипломная работа [2,1 M], добавлен 29.07.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.