Разработка обучающего программного обеспечения с интерфейсом для Android

Разработка мобильного приложения на платформу Android для изучения языков программирования. Использование различныех вспомогательных средств для эмуляции платформ Android. Разработка интерфейса приложения; необходимые модули и структура их взаимодействия.

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

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

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

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

Введение

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

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

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

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

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

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

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

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

Объектом исследования является обучающее программное обеспечение.

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

Для достижения цели необходимо выполнить следующие задачи:

1. Изучить технологии для разработки мобильных приложений;

2. Выбрать необходимые средства разработки;

3. Разработать интерфейс приложения;

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

В рамках работы была изучена литература таких авторов как Рихтер Дж и Таненбаум Э., а так же техническая документация по языку С#, операционной системе Android и написанию приложений для нее, по фреймворку Xamarin и Ionic, а так же по системе управления базами данных SQLite.

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

Во введении обосновывается актуальность работы, цель, задачи, объект и предмет исследования.

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

В заключение представлены основные выводы по проделанной работе и результаты.

Приложения содержат презентационный материал (Приложение A), исходный код программы (Приложение Б).

1. Теоретическая часть

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

Android -- это операционная система, сконструированная для работы на мобильных устройствах. Она основана на ядре Linux -- для самой операционной системы Android в ядро Linux введено всего лишь несколько новых понятий и используется большинство уже знакомых средств Linux. Спустя 5 лет после первого представления Android выросла в одну из наиболее распространенных операционных систем для смартфонов. Ее популярность пришла на волне взрывного распространения смартфонов, и она находится в свободном доступе для производителей мобильных устройств, что позволяет использовать ее в их продукции. Она также является платформой с открытым кодом, что позволяет подстраиваться под широкое многообразие устройств [1].

Значительная часть операционной системы Android написана на языке программирования Java. Ядро и большое количество библиотек низкого уровня написаны на C и C++. Но существенная часть системы написана на Java, и весь API приложений, за весьма небольшим исключением, также написан и издан на Java. Те части Android, которые написаны на Java, имеют ярко выраженную тенденцию следования объектно-ориентированной модели, чему, собственно, способствует сам язык. Часть Android с открытым исходным кодом называется Android Open Source Project (AOSP) и является полностью открытой с возможностью повсеместного использования и изменения. Важной целью Android является поддержка высокотехнологичной среды сторонних приложений, что требует наличия стабильной реализации и API для приложений, работающих в этой среде. У Android также имеется дополнительный уровень процессов, которые запускают среду языка Java под названием Dalvik. Эта среда отвечает за выполнение всех частей системы, реализованных на языке Java.

· dalvik

Виртуальная машина Dalvik реализует в Android среду языка Java, которая отвечает за запуск приложений, а также за основную часть системного кода этой операционной системы. Почти все в процессе system_service, начиная от диспетчера пакетов, переходя к оконному диспетчеру и заканчивая диспетчером активностей, реализовано в коде языка Java, выполняемом Dalvik.

Но в традиционном смысле Android не является платформой, построенной на языке Java. Код Java в Android-приложении предоставляется в формате байт-кода Dalvik, построенного вокруг регистр-ориентированной машины, а не в формате традиционного байт-кода Java, построенного вокруг стек-ориентированной машины. Формат байт-кода Dalvik позволяет осуществлять более быструю интерпретацию, сохраняя при этом поддержку JIT-компиляции (Just-in-Time -- к нужному моменту). Также байт-код Dalvik более экономно расходует память как на диске, так и в оперативном пространстве благодаря использованию строкового пула и других технологий.

При написании Android-приложений исходный код пишется на Java, а затем компилируется в стандартный байт-код Java с использованием традиционного инструментария Java. Затем Android вводит новый шаг -- преобразование этого байт-кода Java в более компактный байт-код Dalvik. Именно байт-код Dalvik является версией приложения, которое помещается в пакет в виде финального двоичного приложения и в конечном итоге устанавливается на устройстве;

· приложения Android

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

По соглашению приложение Android является файлом с расширением apk, что означает Android Package(пакет Android). Это обычный zip-архив, в котором содержится все, касающееся приложения. В apk-файле имеется следующее важное содержимое:

1. Манифест, дающий описание того, чем является приложение, что оно делает и как его запустить. Манифест должен предоставить пакетное имя для приложения, строку, оформленную в Java-стиле (например, com.android.app.calculator), которая идентифицирует его уникальным образом.

2. Ресурсы, необходимые приложению, включая строки, которые оно показывает пользователю, XML-данные для компоновки и другие описания, графические побитовые изображения и т. д.

3. Сам код, который может быть байт-кодом Dalvik, а также собственного библиотечного кода.

4. Информация о подписи, надежно идентифицирующей автора.

Диспетчер пакетов (package manager) -- часть системы Android, следящая за всеми пакетами приложений. Он анализирует каждый манифест приложения, собирает и индексирует найденную в нем информацию. Затем, используя эту информацию, предоставляет клиентам удобную возможность запроса данных о текущих установленных приложениях и извлечения важной информации о них. Он также отвечает за установленные приложения (создание пространства под хранилище приложения и обеспечение целостности apk-файла), а также за все необходимое для их удаления (очистку всего связанного с ранее установленным приложением).

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

Служба (service) имеет две отличительные особенности:

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

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

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

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

Поставщик контента (content provider), который является основным механизмом, используемым приложением для обмена данными с другими приложениями. Все взаимодействия с поставщиком контента осуществляются через унифицированные индикаторы ресурса (URI), с использованием формата content: схема. Полномочия URI используются для поиска правильной реализации поставщика контента, с которым требуется наладить взаимодействие.

Для взаимодействия с поставщиком контента приложения всегда проходят через использование системного API-интерфейса по имени ContentResolver, где у большинства методов имеется начальный URI-аргумент, показывающий данные, с которыми нужно работать. Одним из наиболее востребованных методов ContentResolver является query, осуществляющий запрос к базе данных по заданному URI и возвращающий Cursor для извлечения структурированных результатов;

· безопасность

Безопасность приложений в Android выстраивается вокруг UID-идентификаторов. В Linux каждый процесс работает под конкретным UID, а в Android UID используется для идентификации и защиты барьеров безопасности. Единственный способ взаимодействия процессов заключается в применении механизма IPC, который обычно несет в себе достаточно информации для идентификации UID вызывающего процесса. Binder IPC включает эту информацию явным образом в каждую транзакцию, доставляемую от одного процесса другому, поэтому получатель IPC может запросто затребовать UID вызывающего процесса.

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

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

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

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

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

1.2 Среды разработки

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

1.2.1 Xamarin Framework

Xamarin - фреймворк, предназначенный для разработки под различные мобильные платформы, такие как iOS, Android, Windows Phone, с использованием языка C#. Разрабатывая данный инструмент, создатели основывались на идее дать возможность разработчикам писать код на хорошо знакомом и любимом языке, с применением привычных языковых особенностей. При этом у вас имеется доступ к возможностям SDK нужной платформы и функциям создания интерфейса [2].

· разработка пользовательского интерфейса

В Xamarin разработка интерфейса пользователя ведется при помощи нативных средств и компонентов для каждой платформы. Для Android разработка UI происходит напрямую в коде либо описанием элементов в XML. Редактирование файлов xml с описанием интерфейса происходит в среде Visual Studio, а значит, что нет необходимости использовать дополнительные редакторы;

· переносимость кода

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

· уровень данных - Хранилище данных;

· уровень доступа к данным - Обертка над хранилищем для осуществления CRUD-операций;

· Бизнес слой - уровень, содержащий бизнес-логику приложения;

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

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

· уровень интерфейса пользователя.

Уровни интерфейса пользователя и приложения не являются универсальными для каждой платформы. Тем не менее, примерно 60% кода все же являются переносимыми. Инженеры Xamarin на данный момент пытаются увеличить долю универсального кода, в частности на данный момент есть библиотека Xamarin.Mobile. В ней содержится API для различных платформ для взаимодействия с камерой, контактами и другими функциями которые обычно на каждой платформе обрабатываются по-разному;

· сторонние компоненты

Сторонние компоненты очень просто устанавливать и искать с помощью встроенного магазина Xamarin Components. Он позволяет подключать к вашему проекту различные компоненты, разработанные как инженерами Xamarin, так и любые сторонние компоненты. Большинство компонентов бесплатные, но есть и те, что требуют покупки для использования. Все компоненты можно разделить на две части. Одни содержат дополнительные элементы пользовательского интерфейса, другие являются библиотеками классов. Например, для работы с Json объектами есть Json.NET а с RestSharp для взаимодействия с Rest-сервисами. Некоторые компоненты представлены только для определенной платформы.

· документация

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

· cреды разработки

В качестве среды разработки разработчик может выбрать между собственной IDE - Xamarin Studio и Visual Studio.

1. Xamarin Studio

Xamarin Studio -- среда разработки, имеющая версии для Mac OS X, Linux и Windows. Выглядит она очень просто и интуитивно понятно, но тем не менее это довольно мощный инструмент, включающий в себя множество функций, привычных разработчику из Visual Studio:

· Подсветка синтаксиса;

· Автодополнение кода;

· Универсальный расширенный поиск по файлам и содержимому файлов;

· Развитая навигация по проекту;

· Различные механизмы рефакторинга и быстрая система подсказок;

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

· Встроенная интеграция с системами контроля версий: SVN, Git и TFS;

2. Visual Studio

Также Xamarin предлагает использовать специальный плагин для Visual Studio. Плюсы такого подхода очевидны: разработчик начинает разрабатывать мобильные приложения, не меняя привычных инструментов, и имея возможность использовать все те же инструменты и плагины, что использовали ранее. Плюс ко всему этому в Visual Studio встраивается стандартный эмулятор платформ, для отладки приложения.

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

1.2.2 Ionic Framework

Ionic framework -- это SDK для создания гибридных мобильных приложений, набор CSS и JS компонент, созданный на основе AngularJS, SASS, Apache Cordova [3].

· Ionic cli

По сути это обёртка над Cordova CLI, предоставляющая дополнительные возможности: 

· создание базового приложения с выбором шаблонов (например приложение с боковым меню, приложение с табами, картами Google Maps, пустое приложение);

· сборка и запуск в эмуляторе, на реальном устройстве, в браузере;

· live reload в браузере и на устройстве;

· генерацию иконок, сплешскринов и др.

Наличие Ionic CLI совсем не обязательно, однако это гораздо облегчает разработку приложения. Самые значительные возможности:

· Генерация иконок;

Из исходных файлов в форматах .psd, .png, .ai можно сгенерировать иконки всех размеров под целевые платформы. Для этого достаточно иметь исходную иконку размером не менее 192Ч192px, и исходную картинку размером не менее 2208Ч2208px, подготовленную по специальному PSD шаблону;

· отображение одновременно на IOS и Android

Запускается одной простой командой и отображает в браузере ваше приложение одновременно для iOS и Android платформ. Данная опция в том числе поддерживает верстку «на лету»;

· Ionic View

Ionic View -- это мобильное приложение для iOS и Android, с помощью которого можно делиться вашими разрабатываемыми приложениями с заказчиком, специалистами по тестированию, коллегами. С помощью специальной команды приложение синхронизируется с сервером, после чего его можно запустить на телефоне. Стоит отметить, что сейчас Ionic View находится в стадии beta, не все Cordova плагины поддерживаются в текущей версии Ionic View;

· Ionic Box

IonicBox - это сборка Vagrant для разработки на Ionic. В виртуальной машине (Ubuntu 14.04) установлены Node.js, Git, Java SDK 7, Apache Ant, Android SDK Cordova, Ionic. Важно, что с помощью Ionic Box можно разрабатывать только Android приложения;

· Genymotion

Хоть это и не часть экосистемы Ionic, но стоит обратить внимание. Genymotion - это очень быстрый Android эмулятор, построенный на основе VirtualBox.

Если у вас стоит Android Studio, то вы запросто можете запускать проекты на Genymotion прямо оттуда, выбрав одну из запущенных виртуальных машин в диалоговом окне. Например, можно запустить 4 виртуальных машины с разными версиями Android и быстро открыть в каждой из них своё приложение - очень удобно. Более того, имеется плагин Genymotion для Android Studio, позволяющий управлять виртуальными машинами

Для личного использования Genymotion бесплатен;

· Ionic Creator

Ionic Creator - это drag'n'drop builder интерфейса приложения. С недавних пор он стал публичным, и войти или зарегистрироваться можно здесь.

В Creator встроены базовые шаблоны страниц, которые упрощают прототипирование.

Элементов, которые можно добавлять на страницы, много: кнопки, формы, разделители, HTML/Markdown вставки, картинки и многое другое. Страницы можно связывать между собой, на событие клика кнопки можно вешать переход к другим страницам приложения.

Существует возможность экспорта приложения. Тут есть опции - это 

· HTML, который можно скопировать прямо из модального окна;

· ZIP архив с файлами;

· вариант установки через Ionic CLI.;

· Ionic Icons

Ionicons - это огромный набор иконок, которые встроены в Ionic. Иконки довольно часто пополняются, а для быстрого поиска нужной иконки по ключевому слову реализован удобный фильтр-поиск;

· ng-cordova

ng-cordova - это набор из более чем 60 плагинов, которые являются AngularJS обертками для наиболее популярных Cordova и Phonegap плагинов, предоставляя уйму возможностей: сканирование баркодов, загрузка файлов, работа с социальными сетями, геолокация, определение статуса сети, API для работы с вибро и многое другое;

· Ionic Showcase

Ionic Showcase - это коллекция приложений, написанных на Ionic профессионалами и не только. Есть возможность отправить и своё приложение;

· Ionic Material

Ionic Material - надстройка над фрейморком Ionic для материализации интерфейса.

Ionic Material не конфликтует со стандартными стилями и классами фреймворка Ionic и по заверению разработчика выполнен строго по руководствам Google;

· интеграция с Crosswalk

Crosswalk - это продукт с открытым программным кодом, позволяющий на старых версиях Android (4.0-4.3) использовать не встроенный WebView, а Chrome WebView, указывая нужную версию.
Наличие Crosswalk позволяет добиться вплоть до 10-кратного увеличения скорости отрисовки HTML/CSS и позволяет увеличить производительность Javascript, при этом увеличивая размер вашего приложение на 10-15 МБ.
Также для разработчика открывается возможность отлаживать приложение с помощью Chrome DevTools;

2 Практическая Часть

2.1 Разработка требований

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

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

К разрабатываемому приложению были предъявлены следующие функциональные требования:

· приложение должно обеспечивать регистрацию новых пользователей;

· приложение должно обеспечивать авторизацию раннее зарегистрированных пользователей;

· приложение должно обеспечивать сохранения прогресса сохранения обучения;

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

· возможность редактирования персональных данных пользователя такие как ФИО, пароль и т.д.;

· возможность прохождения пользователем тестов по изученному теоретическому материалу;

· сохранения результатов прохождения тестов в профиле пользователя;

· предоставление пользователю информации об изменениях содержания курсов либо других новшествах в проекте.

К нефункциональным требованиям:

· доступность для понимания предоставленного теоретического материала;

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

· Простой и понятный интерфейс;

· Цветовая гамма, не должна мешать процессу изучения материала.

2.2 Выбор средства разработки

В качестве основы для разработки приложения был выбран Xamarin Framework[4]. Характеристики Xamarin:

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

· поддержка LINQ (легкость доступа к объекту DB);

· обеспечивает 100% -ное повторное использование кода при разработке пользовательского интерфейса Xamarin.Forms с использованием общей базы кода и логики. Это экономит много времени и ресурсов;

· Xamarin.Android поддерживает устройства Google Glass, Android Wear и Firephone;

· значительно проще начинать разработку, если имеется опыт работы на языке C #.

Xamarin лучше всего подходит, если вы уже программируете на C # и не хотите изучать какой-либо другой язык программирования только из-за разработки мобильных приложений.

Вы не хотите изучать несколько технологий для разработки Android, IOS, Windows Apps.

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

2.3 Выбор системы управления базой данных

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

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

2.4 Среда разработки

В качестве среды для написания кода была выбрана среда Visual Studio 2015 Comunity.

Microsoft Visual Studio 2015 -- это набор инструментов для создания программного обеспечения: от планирования до разработки пользовательского интерфейса, написания кода, тестирования, отладки, анализа качества кода и производительности, развертывания в средах клиентов и сбора данных телеметрии по использованию. Эти инструменты предназначены для максимально эффективной совместной работы; все они доступны в интегрированной среде разработки (IDE) Visual Studio [5].

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

· приложения и игры, которые выполняются не только на платформе Windows, но и на Android и iOS;

· веб-сайты и веб-службы на основе ASP.NET, JQuery, AngularJS и других популярных платформ;

· приложения для самых разных платформ и устройств, включая, но не ограничиваясь: Office, Sharepoint, Hololens, Kinect и "Интернета вещей";

· игры и графические приложения для разных устройств Windows, включая Xbox, с поддержкой DirectX.

По умолчанию Visual Studio обеспечивает поддержку C#, C и C++, JavaScript, F# и Visual Basic. Visual Studio хорошо работает и интегрируется со сторонними приложениями, например Unity и Apache Cordova, с помощью расширений Набор средств Visual Studio для Unity и инструментов Visual Studio для Apache Cordova соответственно. Вы также можете самостоятельно расширить Visual Studio, создав собственные инструменты для выполнения специализированных задач.

На рис.2.1 представлен скриншот рабочего окна Visual Studio 2015.

Рис.2.1 -- Скриншот рабочего окна Visual Studio 2015

2.5 Genymotion

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

Эмулятор Android Genymotion создавался для широкого круга пользователей, а не только для разработчиков мобильных приложений под ОС Android. Эмулятор доступен для таких операционных систем как Windows, Mac OS и Linux и для корректной работы требует предустановленный VirtualBox. Андроид эмулятор Genymotion представлен в двух вариациях -- платно и бесплатно. Возможности платной версии эмулятора значительно шире, нежели бесплатной, например, в ней доступна функция Multi-touch, и в основном предназначена для больших компаний, разрабатывающих программное обеспечение под Android.

Особенности Genymotion:

· быстрая загрузка и запуск предварительно настроенных образов Android. Список устройств постоянно расширяется;

· эмулируется соединение WiFi;

· эмуляция интернета через GPRS, 3G, LTE и пр.;

· отображение: аппаратное ускорение с OpenGL, режим полноэкранного просмотра;

· поддерживает ADB;

· эмуляция, как задней так и передней камер, вспышки;

· плагины к Eclipse и Android Studio для разработчиков мобильных приложений;

· поддерживает Windows, Mac и Linux;

· работает намного быстрее других андроид эмуляторов;

· возможность установки приложений из Google Play;

· возможность изменять IMEI виртуального устройства (в платной версии);

· Factory Reset -- полный сброс виртуального Android устройства (в платной версии);

· изменение количества CPU и объема RAM в настройках виртуального Android устройства.

Недостатки:

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

· нет возможности эмулировать голосовые вызовы.

На рис.2.2 представлен скриншот основного окна программы Genymotion и запущенного эмулятора устройства Android.

Рис.2.2 -- Cкриншот основного окна программы Genymotion и запущенного эмулятора устройства Android

2.6 Система контроля версий

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

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

· распределенные

· централизованные.

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

Централизованная CVS представляют собой приложения типа клиент-сервер, когда репозиторий проекта существует в единственном экземпляре и хранится на сервере.

В качестве системы контроля версий выбран Bitbucket. Слоган сервиса - «Bitbucket -- это Git-решение для профессиональных команд.»

Возможности:

· дисковое пространство на один репозиторий 2Gb;

· неограниченное количество частных и общедоступных репозиториев;

· доступ к репозиториям по протоколам HTTP и SSH;

· возможность привязать учётную запись на сервисе к собственному домену;

· вики;

· система учёта ошибок;

· интеграция с Google Analytics, Twitter, Basecamp и тд;

· RSS-лента истории изменений;

· управление приватностью отдельно для каждого репозитория;

· для публичных репозиториев количество пользователей не ограничено (BitBucket бесплатен для проектов открытого программного обеспечения).

3 Разработка

3.1 Разработка модулей приложения и структуры их взаимодействия

Разрабатываемое приложение состоит из различных модулей, которые взаимодействуют между собой. Все модули представляют собой Activity -- часть приложения, взаимодействующая непосредственно с пользователем через пользовательский интерфейс [6].

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

На рис.3.1 представлена схема взаимодействия Activity в приложении.

Рис. 3.1 -- Схема взаимодействия Activity в приложении

При запуске приложения первой загружается Activity Login, предназначенная для авторизации зарегистрированных пользователей, с нее можно перейти к Activity Registration, если у пользователя еще нет учетной записи, можно зарегистрироваться.

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

Так же начиная с News Activity доступно вернее меню (Toolbar) с которого можно получить доступ к странице профиля текущего пользователя реализованной в Profile Activity. На данной странице представлена краткая информация о пользователе, а так же о результатах прохождения им тестов.

Так же через верхнее меню можно получить доступ к боковому меню (Left Drawer Layout) через которое можно перейти к новостям, выйти из приложения либо перейти к Activity Courses, для получения списка доступных курсов по языкам программирования.

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

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

3.2 Разработка базы данных

Для начала работы с базой данных в разрабатываемом приложении следует сначала соответствующую библиотеку для работы с базой данных [7]. Ранее была выбрана СУБД SQLite.

Для работы с SQLite можно использовать разные подходы и библиотеки. Рекомендуемой библиотекой является SQLite.NET, которая представляет простое ORM-решение (Object Relational Mapping) для Xamarin. Она позволяет работать с базой данных как с хранилищем объектов и манипулировать данными как объектами стандартных классов C# без использования выражений на языке SQL. И вначале добавим в главный проект в узел References с помощью менеджера NuGet эту библиотеку SQLite.NET PCL. На рис.3.2 указан пакет который необходимо установить.

Рис. 3.2 -- Выбор пакета для работы SQLite с помощью NuGet

Далее добавим в проект класс, реализующий интерфейс ISQLite:

using System;

using SQLiteApp.Droid;

using System.IO;

using Xamarin.Forms

[assembly: Dependency(typeof(SQLite_Android))]

namespace SQLiteApp.Droid

{

public class SQLite_Android : ISQLite

{

public SQLite_Android() { }

public string GetDatabasePath(string sqliteFilename)

{

String documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);

var path = Path.Combine(documentsPath, sqliteFilename);

return path;

}

}

}

Данный класс создает подключение к базе данных.

Физическая модель базы данных содержит все детали, необходимые конкретной СУБД для создания базы. На рис.3.3 представлена ER-диаграмма базы данных разрабатываемого проекта.

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

Рис.3.3 -- ER-диаграмма базы данных разрабатываемого проекта

Описание соответствия сущностей логической и физической моделей приведено в таб.3.1

Таблица 3.1 Соответствие сущностей логической и физической модели

Сущность

Таблица

Пользователи

Users

Профиль

Profiles

Курсы

Courses

Теория

Theory

Тесты

Tests

Результаты

Results

Вопросы

Questions

Ответы

Answer

Описание каждой таблицы приведено в таб. 3.2 - 3.9.?

Таблица 3.2 Таблица Users

Имя столбца

Тип

id

Integer

email

text

password

text

Таблица 3.3 Таблица Courses

Имя столбца

Тип

id

Integer

name

Varchar

descript

Text

Таблица 3.4 Таблица Profiles

Имя столбца

Тип

id

Integer

user_id

Integer

name

text

surname

text

Таблица 3.5 Таблица Theory

Имя столбца

Тип

id

Integer

course_id

Integer

name

text

content

Text

Таблица 3.6 Таблица Tests

Имя столбца

Тип

id

Integer

course_id

Integer

name

text

descript

Text

Таблица 3.7 Таблица Questions

Имя столбца

Тип

id

Integer

Test_id

Integer

questions

text

Таблица 3.8 Таблица Answer

Имя столбца

Тип

id

Integer

question_id

Integer

answer

text

signification

blob

Таблица 3.9 Таблица results

Имя столбца

Тип

id

Integer

user_id

Integer

course_id

Integer

execute

text

result

float

Данная модель была реализована с помощью СУБД SQLite путем выполнения следующих SQL запросов:

-- Table users

CREATE TABLE users (

id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,

email TEXT(255) NOT NULL,

password TEXT(255) NOT NULL

)

-- Table courses

CREATE TABLE courses (

id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,

name TEXT(255),

descript TEXT

)

-- Table results

CREATE TABLE profiles (

id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,

user_id INTEGER NOT NULL,

course_id TEXT(255),

execute TEXT(255),

result float,

FOREIGN KEY (user_id) REFERENCES users (id),

FOREIGN KEY (course_id) REFERENCES courses (id)

)

-- Table profiles

CREATE TABLE profiles (

id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,

user_id INTEGER NOT NULL,

name TEXT(255),

surname TEXT(255),

FOREIGN KEY (user_id) REFERENCES users (id),

)

-- Table theory

CREATE TABLE theory (

id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,

course_id INTEGER NOT NULL,

name TEXT(255),

content TEXT,

FOREIGN KEY (course_id) REFERENCES courses (id)

)

-- Table test

CREATE TABLE test (

id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,

course_id INTEGER NOT NULL,

name TEXT(255),

descript TEXT,

FOREIGN KEY (course_id) REFERENCES courses (id)

)

-- Table questions

CREATE TABLE questions (

id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,

test_id INTEGER NOT NULL,

questions TEXT(255),

FOREIGN KEY (test_id) REFERENCES test (id)

)

-- Table answer

CREATE TABLE answer (

id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,

question_id INTEGER NOT NULL,

answer TEXT(255),

signification BLOB('true','false'),

FOREIGN KEY (question_id) REFERENCES questions (id)

)

Так же необходимо определить классы, объекты которых будут храниться в базе. Сделать это необходимо для каждой сущности.

Класс Users для сущности Пользователи будет выглядеть следующим образом:

using SQLite;

namespace SQLiteApp

{

[Table("Users")]

public class User

{

[PrimaryKey, AutoIncrement, Column("_id")]

public int Id { get; set; }

public string Email { get; set; }

public string Password { get; set; }

}

}

Также создадим класс репозитория, через который будут проходить все операции с данными:

using System.Collections.Generic;

using System.Linq;

using SQLite;

using Xamarin.Forms;

namespace SQLiteApp

{

public class UserRepository

{

SQLiteConnection database;

public UserRepository(string filename)

{

string databasePath = DependencyService.Get<ISQLite>().GetDatabasePath(filename);

database = new SQLiteConnection(databasePath);

database.CreateTable<Friend>();

}

public IEnumerable<User> GetItems()

{

return (from i in database.Table<Friend>() select i).ToList()

}

public User GetItem(int id)

{

return database.Get<User>(id);

}

public int DeleteItem(int id)

{

return database.Delete< User >(id);

}

public int SaveItem(User item)

{

if (item.Id != 0)

{

database.Update(item);

return item.Id;

}

else

{

return database.Insert(item);

}}}}

В конструкторе класса происходит создание подключения и базы данных (если она отсутствует).

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

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

3.3 Разработка пользовательского интерфейса

Разработка интерфейса в Xamarin ведется с помощью представлений (views), которые являются нативными для каждой платформы [8]. Сособы использования представлений Xamarin

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

Класс VisualElement определяет метод Measure, который измеряет элемент для операций макета, и метод Layout, который определяет прямоугольную область, в которой элемент будет отображаться внутри. Когда приложение запускается и отображается первая страница, на объекте страницы начинается цикл компоновки, состоящий из первых вызовов «Измерение», а затем «Макет».

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

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

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

· StackLayout - используется для упорядочивания представлений линейно, горизонтально или вертикально. Представления в StackLayout могут быть выровнены по центру, слева или справа от макета;

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

· RelativeLayout - используется для упорядочивания представлений путем установки ограничений относительно размеров и положения их родителя;

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

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

· LayoutOptions - определение выравнивания и расширения для представления относительно его родителя;

· Margin and Padding - демонстрирует, как контролировать поведение макета, когда элемент отображается в пользовательском интерфейсе;

· Ориентация устройства - объясняет, как обрабатывать изменения ориентации устройства.

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

Создание настраиваемого макета - объясняет, как создать собственный класс макета.

Элементы управления платформой также могут использоваться непосредственно в макетах Xamarin с Native Embedding, и вы можете создавать собственные макеты для удовлетворения конкретных требований.

На рис. 3.4 показано как отображаются элементы управления компоновкой.

Рис.3.4 -- Отображение элементов управления компоновкой

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

Рассмотрим разработку интерфейса на примере Login Activity. Для начала разработки интерфейса требуется создать файл конфигурации представлений с расширением .axml. Создаем файл login.axml и записываем туда следующий код:

<?xml version="1.0" encoding="utf-8"?>

<!-- Макет, который выравнивает все дочерние элементы в одном направлении в данном случае вертикально-->

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:minWidth="25px"

android:minHeight="25px"

android:background="@color/all_background">

<!-- Контейнер используемый для добавления возможности прокрутки страницы, если например ориентация экрана сменится на горизонтальную -->

<ScrollView

android:layout_width="fill_parent"

android:layout_height="wrap_content">

<!-- Снова используем LinearLayout т.к. ScrollView Может иметь только один дочерний элемент-->

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="vertical">

<!--Контейнер для вывода текста-->

<TextView

android:text="ВОЙТИ"

android:textSize="60dp"

android:textAppearance="?android:attr/textAppearanceLarge"

android:gravity="center_vertical"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:layout_marginTop="20dp"

android:layout_marginBottom="20dp"

android:textColor="#ededed"

android:id="@+id/textView1" />

<!--Контейнер для ввода текста-->

<EditText

android:hint="E-mail"

android:background="@drawable/textEdit_style"

android:inputType="textPersonName"

android:layout_width="match_parent"

android:layout_marginLeft="20dp"

android:layout_marginRight="20dp"

android:layout_height="wrap_content"

android:id="@+id/input_login" />

<!--Контейнер для ввода текста-->

<EditText

android:hint="пароль"

android:background="@drawable/textEdit_style"

android:inputType="textPassword"

android:layout_width="match_parent"

android:layout_marginTop="20dp"

android:layout_marginLeft="20dp"

android:layout_marginRight="20dp"

android:layout_height="wrap_content"

android:id="@+id/input_password" />

<!--Элемент кнопка-->

<Button

android:background="@drawable/button_style"

android:text="Вход"

android:layout_gravity="center_horizontal"

android:layout_width="170dp"

android:layout_marginTop="40dp"

android:layout_marginLeft="20dp"

android:layout_marginRight="20dp"

android:layout_height="wrap_content"

android:id="@+id/auth_btn"

style="@style/button_text" />

<!--Контейнер для вывода текста-->

<TextView

android:text="восстановить пароль"

android:textAppearance="?android:attr/textAppearanceLarge"

android:layout_gravity="center_horizontal"

android:layout_marginTop="10dp"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textColor="#a5a5a5"

android:id="@+id/lb_restore_pass" />

<!--Макет позволяющий располагать элементы в строку, в данном случае внутри хранятся кнопки для авторизации через социальные сети-->

<FrameLayout

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_marginTop="50dp"

android:layout_marginBottom="30dp">

<Button

android:background="@drawable/vk_icon"

android:layout_gravity="left"

android:layout_marginLeft="50dp"

android:layout_marginRight="30dp"

android:layout_width="50dp"

android:layout_height="50dp"

android:id="@+id/auth_vk_btn" />

<Button

android:background="@drawable/google_icon"

android:layout_gravity="center"

android:layout_marginLeft="30dp"

android:layout_marginRight="30dp"

android:layout_width="50dp"

android:layout_height="50dp"

android:id="@+id/auth_g_btn" />

<Button

android:layout_gravity="right"

android:background="@drawable/fb_icon"

android:layout_marginLeft="30dp"

android:layout_marginRight="50dp"

android:layout_width="50dp"

android:layout_height="50dp"

android:id="@+id/auth_f_btn" />

<!--Все открытые макеты и контейнеры необходимо закрыть-->

</FrameLayout>

</LinearLayout>

</ScrollView>

</LinearLayout>

Так же необходимо создать activity со следующим кодом:

using System;

using Android.Support.V4.App;

using Android.Content;

using Android.OS;

using Android.Runtime;

using Android.Views;

using Android.Widget;

using Android.Support.V4.View;

namespace Tabs

{class LoginActivity : Fragment

{private int position;

public override void OnCreate(Bundle savedInstanceState)

{base.OnCreate(savedInstanceState);

position = Arguments.GetInt("position");}

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)

{ var root = inflater.Inflate(Resource.Layout.login, container, false);

...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Обзор существующих популярных программ для просмотра погоды на ОС Android. Операционные системы современных смартфонов. Ключевые особенности Android, технология Java. Разработка программной части, выбор языка, описание алгоритма, ее логической структуры.

    курсовая работа [911,5 K], добавлен 16.04.2014

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

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

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

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

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

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

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

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

  • Анализ целевой аудитории. Функциональные характеристики пользовательского приложения. Разработка алгоритмов и интерфейса программного продукта, функций рабочей области. Написание скриптов на языке C#. Тестирование программы методом чёрного ящика.

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

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

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

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