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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

“____” _________ 2015г.

CАМАРКАНД-2015

Оглавление

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

Приложения А

Приложений Б

Приложения С

ВВЕДЕНИЕ

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

Глобальная сеть Internet сделала электронную коммерцию доступной для фирм любого масштаба. Если раньше организация электронного обмена данными требовала заметных вложений в коммуникационную инфраструктуру и была по плечу лишь крупным компаниям, то использование Internet позволяет сегодня вступить в ряды "электронных торговцев" и небольшим фирмам. Электронная витрина в World Wide Web дает любой компании возможность привлекать клиентов со всего мира. Подобный on-line бизнес формирует новый канал для сбыта - "виртуальный", почти не требующий материальных вложений. Если информация, услуги или продукция (например, программное обеспечение) могут быть поставлены через Web, то весь процесс продажи (включая оплату) может происходить в on-line режим.

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

Имеется множество преимуществ электронной коммерции:

· увеличивается оперативность получения информации, особенно при международных операциях;

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

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

· использование Интернет - технологий электронной коммерции позволяет компании стать более открытой по отношению к клиентам;

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

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

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

Игра судоку развивает логику и внимание.

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

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

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

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

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

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

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

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

Наиболее распространённые операционные системы и платформы для смартфонов:

1) iOS (до 24 июня 2010 года - iPhone OS) - мобильная операционная система разрабатываемая и выпускаемая американской компанией Apple. Была выпущена в 2007 году; первоначально - для iPhone и iPod touch, позже - для таких устройств, как iPad и Apple TV. В отличие от Windows Phone и Google Android, выпускается только для устройств, производимых фирмой Apple;

2) Android - портативная (сетевая) операционная система для коммуникаторов, планшетных компьютеров, электронных книг, цифровых проигрывателей, наручных часов и нетбуков основанная на ядре Linux. Изначально разрабатывалась компанией Android Inc., которую затем купила Google. Впоследствии Google инициировала создание альянса Open Handset Alliance (OHA), который сейчас занимается поддержкой и дальнейшим развитием платформы. Android позволяет создавать Java-приложения, управляющие устройством через разработанные Google библиотеки. Android Native Development Kit позволяет портировать (но не отлаживать) библиотеки и компоненты приложений, написанные на Си и других языках;

3) Windows Mobile и Windows CE - компактная ОС компании Microsoft, выпускается с 1996 года и занимала крупный сегмент рынка ОС для смартфонов до 2010 г. В настоящее время переживает постепенный отказ от поддержки и разработки;

4) BlackBerry OS (RIM) - устройства на этой системе широко используются в основном в США, так как спецслужбы некоторых стран не заинтересованы в использовании этих смартфонов в своей стране из-за того, что все входящие и исходящие данные шифруются с помощью алгоритма шифрования AES;

5) Symbian OS - занимала большую часть рынка ОС для смартфонов до конца 2010г. По состоянию на начало 2010 года на базе этой ОС осталась всего 1 платформа: Series 60, которая используется преимущественно в устройствах Nokia, а также некоторых моделях Samsung;

6) Palm OS - некогда популярная платформа, в настоящее время аппараты на базе Palm OS малораспространены. Последний смартфон под управлением данной операционной системы был представлен в конце 2007 года (Palm Centro);

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

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

приложение android интерфейс программа

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

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

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

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

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

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

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

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

К недостаткам платформы можно также отнести и невозможность установки некоторых приложений на карту памяти. Данный пробел разработчиков является существенным, в особенности, если у телефона небольшой объем встроенной памяти (например, у T-Mobile G1 он составляет всего 70 Мб).

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

Большая часть кода лицензирована под Apache License 2 открытой и неограниченной лицензией Допускается свободное использование исходного кода для создания собственных систем. Однако системы, объявленные как совместимые с Android, должны для начала пройти Android Compatibility Program - процесс, удостоверяющий базовую совместимость со сторонними приложениями, которые созданы сторонними разработчиками. Совместимые системы могут вливаться в экосистему Android, включающую в себя Android Market.

Google play

Google play был открыт для публики в октябре 2008 года компанией Google. Это онлайн-магазин приложений, позволяющий пользователям находить и устанавливать сторонние приложения. Магазин доступен как с помощью приложения на телефоне, как и с использованием браузера на компьютере. Магазин позволяет независимым разработчикам предлагать свои приложения бесплатно или за деньги. Пользователи могут получить доступ к магазину после регистрации учетной записи Google. Покупатель вправе вернуть приложение в течение 15 минут после покупки, чтобы получить свои деньги обратно. Ранее время возврата составляло 24 часа, и столь резкое его уменьшение не слишком обрадовало пользователей. Программисту, чтобы публиковать свои приложения, необходимо зарегистрироваться в Google в качестве разработчика Android. Это будет стоить ему $25 единовременно. Уже через несколько минут после успешной регистрации становится возможным публиковать свои творения. В Google play отсутствует процесс утверждения опубликованного приложения, но имеется система разрешений. Пользователю перед установкой демонстрируются разрешения, которые необходимо предоставить приложению для его работы. Эти разрешения включают в себя доступ к телефонным службам, сети, карте памяти и т.д. Установка приложения совершается только после одобрения пользователем этих разрешений. Система полагается на пользователя в данном вопросе. Надо сказать, что для настольных приложений (особенно это касается Windows-систем) такой подход работает не слишком хорошо. Что касается Android - пока это эффективная мера; всего несколько приложений были удалены с Google play по причине их вредоносного поведения. Для продажи своих приложений разработчик должен дополнительно зарегистрировать учетную запись типа Google Checkout Merchant (это делается бесплатно). Все финансовые операции используют эту учетную запись.

Анализ рынка:

Google Play обошел iOS по количеству загрузок в мире.

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

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

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

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

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

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

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

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

C точки зрения программиста, 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. Средства разработки развивающих и обучающих игр и используемый программы

2.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

JDK - бесплатно распространяемый компанией 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.

AVD (android virtual device)-это эмулятор Android-смартфона, на который Eclipse сможет устанавливать, созданные нами приложения, и запускать их там.

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

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

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

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

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

- Каждый процесс может использовать до 16 Мб (иногда 24 Мб) оперативной памяти.

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

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

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

Android использует специальный механизм описания действий основанный на Intent. Когда нужно выполнить действие (сделать звонок, послать письмо, показать окно), вызывается Intent.

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

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

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

3.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 - Схема взаимодействия экранов

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

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

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

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

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

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

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

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

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

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

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

- термометр (температура воздуха);

- психрометр (относительная влажность);

- анемометр (скорость движения воздуха);

- актинометр (интенсивность теплового излучения);

- газоанализатор (концентрация вредных веществ).

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

1. Комната системного администратора:

- температура воздуха 16-18 С - в холодное время года, 18-20 - в теплое;

- относительная влажность воздуха 40-60% - в холодное время года, 55-75% - в теплое;

- скорость движения воздуха 0.2 м/с.

2. Кабинет директора предприятия:

- температура воздуха 18-20 С - в холодное время года, 20-22 - в теплое;

- относительная влажность воздуха 40-60% - в холодное время года, 55-75% - в теплое;

- скорость движения воздуха 0.2 м/с.

3. Основные производственные помещения, в которых находятся операторы ПЭВМ однотипны и обладают следующими климатическими показателями:

- температура воздуха 20-22 С - в холодное время года, 22-24 - в теплое;

- относительная влажность воздуха 40-60% - в холодное время года, 55-75% - в теплое;

- скорость движения воздуха 0.2 м/с.

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

Производственное освещение

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

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

Недостаточное освещение рабочей зоны;

Отсутствие/недостаток естественного света;

Повышенная яркость;

Перенапряжение анализаторов (в т.ч. зрительных)

По данным ВОЗ на зрение влияет:

- УФИ;

- яркий видимый свет;

- мерцание;

- блики и отраженный свет.

Воздействие шума

Шум - всякий нежелательный для человека звук, мешающий восприятию полезных сигналов. Для измерения шума служат шумо - меры типа ШВК с фильтром ФЭ-2, а так же вибро - акустическая аппаратура типа RFT.

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

Источниками шума в рассматриваемых помещениях являются кондиционер, компьютер, принтер. Уровень шума - порядка 20 дБ, что не превышает допустимых уровней.

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

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

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

В данном случае на рабочем месте установлены ПЭВМ типа IBM-PC с монитором Samsung SyncMaster 500S типа SVGA со следующими техническими характеристиками:

- Размер экрана 15 дюймов;

- Величина зерна (dot/pitch) трубки по горизонтали, т. е. минимальный размер точки на экране монитора входит в норму от 0,22 до 0,41 мм;

- Частота регенерации изображения входит в норму от 75 Гц;

- Максимальное разрешение монитора для 15 дюймового монитора составляет 800на600 точек;

- монитор удовлетворяет стандарту и MPR - II.

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

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

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

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

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

Рабочее пространство.

Научная организация рабочего пространства (Рис.4.1) базируется на данных о средней зоне охвата рук человека - 35-40 см. Ближней зоне соответствует область, охватываемая рукой с прижатым к туловищу локтем, дальней зоне - область вытянутой руки. Тонкой линией изображено фактическое положение монитора на рабочем столе сотрудника - на углу стола с левой стороны. Это приводит к значительному неудобству при работе. При работе с компьютером приходится постоянно поворачивать голову влево, что ведет к усталости шейных мышц.

Рисунок 6. Организация рабочего пространства

Внутренний объем.

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

Рисунок 7. Необходимое пространство для ног

Взаимное расположение предметов на рабочем месте :

1 - угол обзора по вертикали, 35

2 - угол наклона клавиатуры, 10

h1 - высота рабочей поверхности, 79 см

h2 - высота сиденья стула, регулируется под конкретного человека

h3 - расстояние от края стола до клавиатуры, 10 см

h4 - расстояние от органов зрения оператора до экрана, 65 см

Взгляд человека направлен перпендикулярно центру экрана монитора.

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

Клавиатура, как наиболее часто используемое устройство ввода. Параметры этой зоны: угол - 70, глубина - 30-40 см.

Остальные устройства - угол - 130 градусов, глубина 70-80 см.

С учетом выше приведенных данных об углах обзора, а так же зная максимальный размер зоны досягаемости правой руки (70-100 см). Можно считать, что расположение рабочих предметов в моторном поле правильное.

Электробезопасность

Для обеспечения электробезопасности в помещении проверены следующие показатели:

- соответствие напряжения в сети тому на которое рассчитан ПК;

- наличие защитного заземления;

- меры защиты от перепадов в сети.

Приборы, находящиеся в помещении работают от номинального напряжения 220 В. В нашем случае применено заземление с изолированной нейтралью. Заземление выведено на заземляющий контур с сопротивлением 4 Ома. Заземление дисплеев осуществляется через системный блок ПК.

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

При эксплуатации ПК возможны возникновения следующих аварийных ситуаций:

- короткие замыкания;

- перегрузки;

- повышение переходных сопротивлений в электрических контактах;

- перенапряжение;

- возникновение токов утечки.

Электрические установки, к которым относится все оборудование ПК, представляют для человека потенциальную опасность. Воздействие тока может привести к электрической травме, то есть повреждению организма электрическим током или электрической дугой. Исключительно важное значение для предотвращения электрического травматизма имеет правильная организация обслуживания действующих электрических установок, установленная «Правилами технической эксплуатации электроустановок потребителей» (ПТЭ) и «Правилами устройства электроустановок» (ПУЭ). Помещения, где находятся рабочие места операторов, относятся к категории помещений без повышенной опасности, оборудование относится к классу до 1000 В. Оператор работает с оборудованием на 220 В. Наиболее часто бывают случаи касания рукой или другими частями тела корпусов компьютеров и дисплеев. Для предотвращения электротравматизма необходимо применять наиболее дешевый и эффективный способ защиты, которым является защитное заземление. Принцип действия заземления заключается в многократном уменьшении тока, протекающего через человека в случае утечки. Человек-оператор должен быть обучен правилам эксплуатации электрооборудования и оказанию первой помощи при поражении электрическим током.

Заключение

В результате проделанной работы было разработано игры для память и мышления, логику приложенные , которое возможно установить на любое мультимедийное устройство под управление операционной системы Android версии не ниже 2.1

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

Работа приложения была протестирована на двух устройствах, различного типа:

смартфон Galaxy 5S

планшетный компьютер Samsung Galaxy Tab2 7.0.

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

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

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

1. "Об информатизации" Закон Республики Узбекистан от 11 декабря 2003г., http://www.consalting.uz/section.scm?sectionId=4766&contentId=5301

2. "Об электронной коммерции" Закон Республики Узбекистан от 29.04.2004 г. N 613-II,

http://www.consalting.uz/section.scm?sectionId=4766&content Id=5310

3. "Об электронных платежах" Закон Республики Узбекистан от 16.12.2005 г. N ЗРУ-13, "Сборник законов Республики Узбекистан", 2005 г., ст. 23.

4. "Об электронной цифровой подписи" Закон Республики Узбекистан от 11.12.2003 г. N 562-II, http://www.consalting.uz/section.scm?sectionId= 4766&contentId=5314, ст. 22.

5. "Об электронном документообороте" Закон Республики Узбекистан от 29 апреля 2004 г., http://www.consalting.uz/section.scm?sectionId= 4766&contentId=5181, ст. 19.

6. Блог на хабре о разработке под Android [Электронный ресурс]

http://habrahabr.ru/blogs/android_development/

7. Колисниченко Д. - СПб.: Санкт-Петербург, 2011. - 736 с.

Android 2. Программирование приложений для планшетных компьютеров и смартфонов / Рето Майер . - СПб.: Санкт-Петербург, 2011. - 672 с.

Интернет ресурсы:

1. https://developer.android.com/sdk/index.html

2. http://suvitruf.ru/2012/09/12/1799/

3. https://www.java.com/ru/

4. www.oracle.com

Приложения А

Рисунок 8

Главный экран процесса вертикальной вид

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

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

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="@drawable/bx"

android:gravity="bottom|center_horizontal"

android:orientation="vertical" >

<Button

android:id="@+id/butStart"

style="@android:style/TextAppearance.Widget.Button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_margin="5dp"

android:background="@drawable/shermystyle"

android:drawableBottom="@drawable/shermystyle"

android:text="@string/start"

android:textColor="#ffffff"

android:textSize="16dp"

android:textStyle="bold"

android:width="200dp"

/>

<Button

android:id="@+id/butScorex"

style="@style/ButtonText"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_margin="5dp"

android:background="@drawable/shermystyle"

android:text="@string/about"

android:width="200dp" />

<Button

android:id="@+id/butExitx"

style="@style/ButtonText"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_margin="5dp"

android:background="@drawable/shermystyle"

android:text="@string/exit"

android:width="200dp" />

</LinearLayout>

Рисунок 9

Приложения в горизонтальный виде

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

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

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="@drawable/bx"

android:gravity="bottom|center_horizontal"

android:orientation="vertical" >

<LinearLayout

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal" >

<Button

android:id="@+id/butStart"

style="@style/ButtonText"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_margin="5dp"

android:background="@drawable/style"

android:text="@string/start"

android:width="200dp" />

<Button

android:id="@+id/butScorex"

style="@style/ButtonText"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_margin="5dp"

android:background="@drawable/style"

android:text="@string/about"

android:width="200dp" />

<Button

android:id="@+id/butExitx"

style="@style/ButtonText"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_margin="5dp"

android:background="@drawable/style"

android:text="@string/exit"

android:width="200dp" />

</LinearLayout>

</LinearLayout>

Рисунок 10

Процесс неправильного выбора

Рисунок 11

Правильной вибор

class GridAdapter extends BaseAdapter

{

private Context mContext;

private Integer mCols, mRows;

private ArrayList<String> arrPict;

private String PictureCollection; РєР

private Resources mRes; private static enum Status {CELL_OPEN, CELL_CLOSE, CELL_DELETE};

private ArrayList<Status> arrStatus;

public GridAdapter(Context context, int cols, int rows)

{

mContext = context;

mCols = cols;

mRows = rows;

arrPict = new ArrayList<String>();

arrStatus = new ArrayList<Status>();

PictureCollection = "animal";

mRes = mContext.getResources();

makePictArray ();

}

private void makePictArray () {

arrPict.clear();

for (int i = 0; i < ((mCols * mRows) / 2); i++)

{

arrPict.add (PictureCollection + Integer.toString (i));

arrPict.add (PictureCollection + Integer.toString (i));

}

Collections.shuffle(arrPict);

}

private void closeAllCells () {

arrStatus.clear();

for (int i = 0; i < mCols * mRows; i++)

arrStatus.add(Status.CELL_CLOSE);

}

public int getCount() {

return mCols*mRows;

}

public Object getItem(int position) {

// TODO Auto-generated method stub

return null;

}

public long getItemId(int position) {

// TODO Auto-generated method stub

return 0;

}

public View getView(int position, View convertView, ViewGroup parent) {

ImageView view;

if (convertView == null)

view = new ImageView(mContext);

else

view = (ImageView)convertView;

switch (arrStatus.get(position))

{

case CELL_OPEN:

Integer drawableId = mRes.getIdentifier(arrPict.get(position), "drawable", mContext.getPackageName());

view.setImageResource(drawableId);

break;

case CELL_CLOSE:

view.setImageResource(R.drawable.closez);

break;

default:

view.setImageResource(R.drawable.none);

}

return view;

}

public void checkOpenCells() {

int first = arrStatus.indexOf(Status.CELL_OPEN);

int second = arrStatus.lastIndexOf(Status.CELL_OPEN);

if (first == second)

return;

if (arrPict.get(first).equals (arrPict.get(second)))

{

arrStatus.set(first, Status.CELL_DELETE);

arrStatus.set(second, Status.CELL_DELETE);

}

else

{

arrStatus.set(first, Status.CELL_CLOSE);

arrStatus.set(second, Status.CELL_CLOSE);

}

return;

public boolean openCell(int position) {

if (arrStatus.get(position) == Status.CELL_DELETE ||

arrStatus.get(position) == Status.CELL_OPEN)

return false;

if (arrStatus.get(position) != Status.CELL_DELETE)

arrStatus.set(position, Status.CELL_OPEN);

notifyDataSetChanged();

return true;

public boolean checkGameOver() {

if (arrStatus.indexOf(Status.CELL_CLOSE) < 0)

return true;

return false;

}

Приложений Б

Рисунок 12

Выбор степени сложности

Рисунок 13

После выбора легко

public class FolderListActivity extends ListActivity {

public static final int MENU_ITEM_ADD = Menu.FIRST;

public static final int MENU_ITEM_RENAME = Menu.FIRST + 1;

public static final int MENU_ITEM_DELETE = Menu.FIRST + 2;

public static final int MENU_ITEM_ABOUT = Menu.FIRST + 3;

public static final int MENU_ITEM_EXPORT = Menu.FIRST + 4;

public static final int MENU_ITEM_EXPORT_ALL = Menu.FIRST + 5;

public static final int MENU_ITEM_IMPORT = Menu.FIRST + 6;

private static final int DIALOG_ABOUT = 0;

private static final int DIALOG_ADD_FOLDER = 1;

private static final int DIALOG_RENAME_FOLDER = 2;

private static final int DIALOG_DELETE_FOLDER = 3;

private static final String TAG = "FolderListActivity";

private Cursor mCursor;

private SudokuDatabase mDatabase;

private FolderListViewBinder mFolderListBinder;

// input parameters for dialogs

private TextView mAddFolderNameInput;

private TextView mRenameFolderNameInput;

private long mRenameFolderID;

private long mDeleteFolderID;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.folder_list);

View getMorePuzzles = (View) findViewById(R.id.get_more_puzzles);

setDefaultKeyMode(DEFAULT_KEYS_SHORTCUT);

// Inform the list we provide context menus for items

getListView().setOnCreateContextMenuListener(this);

getMorePuzzles.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://samtuit.uz"));

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(intent);

}

});

mDatabase = new SudokuDatabase(getApplicationContext());

mCursor = mDatabase.getFolderList();

startManagingCursor(mCursor);

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.folder_list_item,

mCursor, new String[]{FolderColumns.NAME, FolderColumns._ID},

new int[]{R.id.name, R.id.detail});

mFolderListBinder = new FolderListViewBinder(this);

adapter.setViewBinder(mFolderListBinder);

setListAdapter(adapter);

// show changelog on first run

Changelog changelog = new Changelog(this);

changelog.showOnFirstRun();

}

@Override

protected void onStart() {

super.onStart();

updateList();

}

@Override

protected void onDestroy() {

super.onDestroy();

mDatabase.close();

mFolderListBinder.destroy();

}

@Override

protected void onSaveInstanceState(Bundle outState) {

super.onSaveInstanceState(outState);

outState.putLong("mRenameFolderID", mRenameFolderID);

outState.putLong("mDeleteFolderID", mDeleteFolderID);

}

@Override

protected void onRestoreInstanceState(Bundle state) {

super.onRestoreInstanceState(state);

mRenameFolderID = state.getLong("mRenameFolderID");

mDeleteFolderID = state.getLong("mDeleteFolderID");

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

super.onCreateOptionsMenu(menu);

// This is our one standard application action -- inserting a

// new note into the list.

menu.add(0, MENU_ITEM_ADD, 0, R.string.add_folder)

.setShortcut('3', 'a')

.setIcon(android.R.drawable.ic_menu_add);

menu.add(0, MENU_ITEM_IMPORT, 0, R.string.import_file)

.setShortcut('8', 'i')

.setIcon(android.R.drawable.ic_menu_upload);

menu.add(0, MENU_ITEM_EXPORT_ALL, 1, R.string.export_all_folders)

.setShortcut('7', 'e')

.setIcon(android.R.drawable.ic_menu_share);

menu.add(0, MENU_ITEM_ABOUT, 2, R.string.about)

.setShortcut('1', 'h')

.setIcon(android.R.drawable.ic_menu_info_details);

Intent intent = new Intent(null, getIntent().getData());

intent.addCategory(Intent.CATEGORY_ALTERNATIVE);

menu.addIntentOptions(Menu.CATEGORY_ALTERNATIVE, 0, 0,

new ComponentName(this, FolderListActivity.class), null, intent, 0, null);

return true;

}

@Override

public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) {

AdapterView.AdapterContextMenuInfo info;

try {

info = (AdapterView.AdapterContextMenuInfo) menuInfo;

} catch (ClassCastException e) {

Log.e(TAG, "bad menuInfo", e);

return;

}

Cursor cursor = (Cursor) getListAdapter().getItem(info.position);

if (cursor == null) {

// For some reason the requested item isn't available, do nothing

return;

}

menu.setHeaderTitle(cursor.getString(cursor.getColumnIndex(FolderColumns.NAME)));

menu.add(0, MENU_ITEM_EXPORT, 0, R.string.export_folder);

menu.add(0, MENU_ITEM_RENAME, 1, R.string.rename_folder);

menu.add(0, MENU_ITEM_DELETE, 2, R.string.delete_folder);

}

@Override

protected Dialog onCreateDialog(int id) {

LayoutInflater factory = LayoutInflater.from(this);

switch (id) {

case DIALOG_ABOUT:

final View aboutView = factory.inflate(R.layout.about, null);

TextView versionLabel = (TextView) aboutView.findViewById(R.id.version_label);

String versionName = AndroidUtils.getAppVersionName(getApplicationContext());

versionLabel.setText(getString(R.string.version, versionName));

return new AlertDialog.Builder(this)

.setIcon(R.drawable.opensudoku_logo_72)

.setTitle(R.string.app_name)

.setView(aboutView)

.setPositiveButton("OK", null)

.create();

case DIALOG_ADD_FOLDER:

View addFolderView = factory.inflate(R.layout.folder_name, null);

mAddFolderNameInput = (TextView) addFolderView.findViewById(R.id.name);

return new AlertDialog.Builder(this)


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

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