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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

МИНИСТЕРСТВО ПО РАЗВИТИЮ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И ТЕЛЕКОММУНИКАЦИЙ РЕСПУБЛИКИ УЗБЕКИСТАН

САМАРКАНДСКИЙ ФИЛИАЛ ТАШКЕНТСКОГО УНИВЕРСИТЕТА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Факультет “ КОМПЬЮТЕРНЫЙ ИНЖИНИРИНГ ”

Кафедра “ ПРОГРАММНЫЙ ИНЖИНИРИНГ ”







Выпускная квалификационная работа

для получения академической степени бакалавра по направлению

-«Информатика и информационные технологии»

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

Выполнил: Студента 4-го курса Юлдошев Ш.

Научный руководитель: Сокиев Т.Р

Работа рассмотрена на заседании

кафедры (протокол №___ от “___” ______ 2015г.)

и допущена к защите.

Зав. кафедрой ________ ст.пр. Сокиев Т.Р

“____” _________ 2015г.

CАМАРКАНД-2015

Оглавление

ВВЕДЕНИЕ

Глава I. Анализ использования развивающих игр для и описание программы

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

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

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

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

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

.2 Разработка приложения для платформы Android

.3 Особенности и специфика разработки

Глава III. Общая схема работы приложения Android

.1 Общая схема работы приложения Android

.2 Графический интерфейс и обработка касаний экрана

.3 Разработка экранов приложения и их взаимодействия

Заключение

Список используемых источников

Приложения А

Приложений Б

Приложения С

ВВЕДЕНИЕ


Развитие информационной технологии (ИТ) в Республике Узбекистан поставило задачу - решить многие проблемы в этой области. Мировой финансовый кризис несколько затруднил решение этих проблем, хотя в Узбекистане информационные технологии развиваются своим темпом. Для примера приведём следующие фразы президента Республики Узбекистан И.А.Каримова из книги «Мировой финансово-экономический кризис, пути и меры по его преодолению в условиях Узбекистана»: «Наиболее высокими темпами развивались услуги связи, информатизации, финансовые, банковские, транспортные услуги. Особо следует отметить динамичное развитие услуг в сфере информационно-коммуникационных технологий, которые за последние четыре года в среднем увеличиваются ежегодно на 50 процентов. В результате доля сферы услуг в ВВП возросла в 2008 году до 45,3 процента против 42,5 процента в 2007 году.» [1] К этому можно отнести и электронную коммерцию.

Глобальная сеть Internet сделала электронную коммерцию <#"869270.files/image001.jpg">

Рисунок 1 - Сравнение Google Play и iOS

Доходы от мобильных игр стали приносить больший доход, чем игры для портативных приставок.


Рисунок 2 - Доходы от мобильных игр

Технологии для создания игр

. Разработка концепции:

•  возраст пользователя.

•        вид игры: развлекающая, развивающая, обучающая, комплексная.

1.3 Архитектура Android

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

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

Ядро

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

Описание игры

В приложения А Б С. Я создал игры. По названия “Память,Судоку,Тест”

Игра обладает очень удобном интерфейсом и очень легким управлением алгоритмом

Игра помогает детям и зрослам развить

Развивает память,

Заостряет внимание,

Повышает мышление и логику,

Удобна в использовании.

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

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

Среда выполнения Android, являющаяся надстройкой над ядром, отвечает за порождение и выполнение приложений Android. Каждая программа работает в собственном процессе со своей виртуальной машиной Dalvik. Dalvik запускает программы в байт-кодовом формате DEX. Java-файлы с расширением CLASS преобразуются в формат DEX с помощью специальной утилиты dx, имеющейся в SDK. Формат DEX занимает намного меньше места в памяти, чем классические файлы типа CLASS, что достигается большим сжатием, разбиением на таблицы и слиянием нескольких CLASS-файлов. Виртуальная машина Dalvik взаимодействует с библиотеками ядра, предлагающими базовый функционал для Java-программ. Эти библиотеки располагают большим, но не полным набором классов, доступных через Java SE.

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

Фреймворк приложения

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

2.2 Разработка приложения для платформы Android

 - бесплатно распространяемый компанией OracleCorporation комплект разработчика (далее SDK) на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE). В состав JDK не входит интегрированная среда разработки на Java, поэтому разработчик, использующий только JDK, вынужден использовать внешний текстовый редактор и компилировать свои программы, используя утилиты командной строки.

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

Eclipse - свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается EclipseFoundation. На данный момент является наиболее удобным средством разработки для Android.

ADT плагин - по умолчанию Eclipse не особо годится для разработки Android-приложений. ADT - плагин, который настраивает среду разработки для использования Android SDK и добавляет возможность удобной разработки. Плагин довольно легко устанавливает в среду Eclipse.

SDKmanager (выбор платформы) - здесь мы выбираем необходимые нам компоненты для разработки приложений, а именно: платформа (API), утилиты (оптимизаторы для определенных устройств, набор готовых примеров и т.д.), тулсы (прямая отладка на ANDROID-устройстве, интеграция дополнительных возможностей и т.д.).

С выбором я остановился на SDK платформы версии 2.3.3. Именно данная платформа предлагает весь необходимый набор методов необходимый для более удобной разработки приложений. Так же, ANDROID-устройств с версией ниже 2.3 мы уже не найдем. Соответственно, приложения созданные с помощью данного SDK можно будет использовать на любом мобильном устройстве с ОС Android.

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

2.3 Особенности и специфика разработки

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

Приложение требует для установки в два раза (или даже в четыре) больше места, чем оригинальный размер приложения;

Скорость работы с файлами на встроенной флеш-карте падает в десятки раз при уменьшении свободного места;

Каждый процесс может использовать до 16 Мб (иногда 24 Мб) оперативной памяти.основан на Linux. Между приложением и ядром лежит слой API и слой библиотек на нативном коде. Приложение выполняется на виртуальной машине Java (Dalvik Virtual Machine).

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

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

Также Android содержит сервисы подобные демонам в Linux для выполнения нужных действий в фоновом режиме (например, проигрывание музыки). Для обмена данными между приложениями используются Content providers (провайдеры содержимого).

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

Глава III. Общая схема работы приложения Android

.1 Общая схема работы приложения Android


Приложения для Android в своей работе использует окна(аналогично Windows), однако в данной системе вышеуказанные окна носят иное название - Activity. Как и в Windows, каждое окно имеет свой жизненный цикл и свои особенности. При создании нового окна вызывается метод onCreate(), при разработке данный метод переопределяется и в нем происходит инициализация приложения и его компонентов. Далее вызываются методы onStart() и onResume(). Оба метода вызываются перед отображением окна при его создании, либо восстановлении(при переключении из другого приложения, при разворачивании свернутого приложения и тп). При сворачивании вызываются методы onPause() и onStop(). При закрытии приложения и окна вызывается onDestory(), в данном методе можно сохранить пользовательские данные и параметры. Полное описание и последовательность вызова методов можно найти на официальном сайте. Общая схема жизненного цикла приложения для Android представлена на рисунке 4.

Рисунок 4 - Жизненный цикл приложения для системы под управлением Android 2.3.1

3.2 Графический интерфейс и обработка касаний экрана


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

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


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

Экраны в приложении вызываются в определенном порядке, в соответствии с действиями пользователя. Более наглядно схема взаимодействия экранов представлена на рисунке 5.

Рисунок 5 - Схема взаимодействия экранов

Технические безопасности

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

Основными, при определении условий труда являются следующие вопросы:

производственный микроклимат помещения;

производственное освещение;

воздействие шума и вибрации;

электромагнитные излучения

электропожаробезопасность;

эргонометрические характеристики рабочего места.

Производственный микроклимат

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