- Разработка Android приложений
- Архитектура операционной системы Android. Инструменты Android-разработчика. Установка Java Development Kit, Eclipse IDE, Android SDK. Настройка Android Development Tools. Разработка программы для работы с документами и для осуществления оперативной связи.
- Подобные документы
- Разработка приложения на платформе Android
- Разработка мобильных приложений с помощью среды разработки Android Studio на языке Java. Создание разметки приложений и элементов интерфейса. Использование эмулятора Genymotion для тестирования приложений. Работа с акселерометром и отрисовки графики.
- Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
- Введение
- 1. Техническое задание
- 2. Средства разработки
- 3. Структура программы
- 4. Реализация программы
- 5 Инструкция пользователя
- Заключение
- Библиографический список
- Приложение А
- Приложение Б
Разработка Android приложений
Архитектура операционной системы Android. Инструменты Android-разработчика. Установка Java Development Kit, Eclipse IDE, Android SDK. Настройка Android Development Tools. Разработка программы для работы с документами и для осуществления оперативной связи.
Подобные документы
Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.
курсовая работа, добавлен 18.01.2017
Архитектура операционной системы Android, набор библиотек для обеспечения базового функционала приложений и виртуальная машина Dalvik. Объектно-ориентированный язык программирования Java как инструмент разработки мобильных приложений для ОС Android.
дипломная работа, добавлен 08.07.2015
Структура и архитектура платформы Android. Основные достоинства и недостатки операционной системы Android. Среда разработки Eclipse, платформа Java. Подготовка среды разработки. Вкладка «Погода», «Курс валют», «Новости». Просмотр полной новости.
дипломная работа, добавлен 11.07.2014
Первое устройство, работающее под управлением Android. Приложения под операционную систему Android. Формат установочных пакетов. Разработка приложений на языке Java. Шаблоны основных пакетов и компонентов Android. Сборка приложений, основанная на Gradle.
курсовая работа, добавлен 08.02.2016
Разработка открытой мобильной платформы Android. Первое устройство, работающее под управлением Android. Магазин приложений «Google Play». Полноценные программы навигации, редакторы офисных документов и синхронизационные утилиты. Рост вирусной активности.
презентация, добавлен 29.10.2014
Обзор существующих популярных программ для просмотра погоды на ОС Android. Операционные системы современных смартфонов. Ключевые особенности Android, технология Java. Разработка программной части, выбор языка, описание алгоритма, ее логической структуры.
курсовая работа, добавлен 16.04.2014
Общая характеристика системы Android, обзор его аналогов. Необходимые компоненты для начала работы в Android. Настройка конфигураций Ubuntu. Написание script-ов, упрощающих генерацию Linux. Отладка и тестирование программы на плате i.MX53 фирмы freescale.
курсовая работа, добавлен 12.10.2012
Преимущества операционной системы Android. Проектирование интерфейса приложений. Визуальные редакторы и средства кроссплатформенной разработки. Оптимизация игрового процесса, выбор фреймворка и библиотек. Классификация и характеристика игр по жанрам.
дипломная работа, добавлен 10.07.2017
Разработка программного обеспечения для платформы Android версии 2.3: информационное приложения для поклонников футбольной команды, с возможностью просмотра событий, статистики и иной информации о команде и ее успехах. Листинг JsonDataManager.java.
дипломная работа, добавлен 24.04.2013
Система помощи водителю на базе регистратора. Установка операционной системы Debian. Настройка системных служб и разработка серверного приложения. Создание локальной Wi-Fi сети. Распознавание знаков и библиотека OpenCV. Потоковое видео в Android.
дипломная работа, добавлен 13.09.2017
Источник
Разработка приложения на платформе Android
Разработка мобильных приложений с помощью среды разработки Android Studio на языке Java. Создание разметки приложений и элементов интерфейса. Использование эмулятора Genymotion для тестирования приложений. Работа с акселерометром и отрисовки графики.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 17.02.2019 |
Размер файла | 173,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное агентство железнодорожного транспорта
Омский государственный университет путей сообщения
Кафедра «Автоматика и системы управления»
разработка приложения на платформе android
Пояснительная записка к курсовой работе
по дисциплине «Информационные системы и технологии»
Руководитель — доцент кафедры АиСУ
Пояснительная записка содержит 25 страниц, 3 изображения, 3 источника, 2 приложения.
Игра, акселерометр, Android, приложение, ориентация, разметка, функция, битмап, обработчик.
Цель работы — написать игру «Змейка» для операционной системы Android.
Пояснительная записка к курсовому проекту оформлена в текстовом редакторе Microsoft Office 2015.
1. Техническое задание
2. Средства разработки
3. Структура программы
4. Реализация программы
5. Инструкция пользователя
Введение
Бурное развитие информационных технологий в последнее время привело к тому, что появилось много новых устройств и технологий, таких, как планшеты, смартфоны, нетбуки, другие гаджеты. Мир все больше стал уходить от понятия компьютера как исключительно стандартного персонального компьютера. Смартфоны и прочие гаджеты все более прочно входят в нашу жизнь и становятся привычным дело. Лидирующей платформой среди подобных гаджетов на сегодняшний день является ОС Андроид. По разным подсчетам за 2015 год этой операционной системой пользуются около 82% владельцев смартфонов.
Android-устройства набирают популярность быстрее, чем любая другая мобильная платформа, что делает их отличным выбором для первого знакомства с разработкой мобильных приложений, особенно для Java-программистов.
1. Техническое задание
Мы адаптируем старую всем известную игру «Змейка» под Android, где управление змейкой будет осуществляться с помощью акселерометра.
Программа является одним из представителей старой игры «Змейка», имея ту же игровую логику, подсчёт набранных очков, выигрышным условием, но с возможностью играть на системе Android с использованием акселерометра. Также на фоне отображается датчик показывающий положение акселерометра в пространстве, что позволяет отслеживать правильность его работы.
После запуска приложения на экране появляется «главное меню» с кнопкой которая позволяет начать новую игру. После нажатия кнопки, вызывается игровое поле, состоящее из клеток, по которым передвигается змейка. Также на поле в случайной клетке появляется яблоко, при сборе которого змейка начинает увеличиваться в длину. После выполнения условия выигрыша или проигрыша вызывается экран конца игры на котором показывается количество набранных очков и предложение начать новую игру.
Приложение создается с помощью среды разработки Android Studio.
2. Средства разработки
Основным языком для разработки программ на Android является Java. Чтобы создать разметку приложений и элементы интерфейса, используется язык разметки XML. Писать программы для Android на Java можно практически в любой программной среде, однако разработчики операционной системы предлагают программистам использовать Android Studio.
Android Studio — это интегрированная среда разработки (IDE) для работы с платформой Android, анонсированная 16 мая 2013 года на конференции Google I/O.
IDE находилась в свободном доступе начиная с версии 0.1, опубликованной в мае 2013, а затем перешла в стадию бета-тестирования, начиная с версии 0.8, которая была выпущена в июне 2014 года. Первая стабильная версия 1.0 была выпущена в декабре 2014 года, тогда же прекратилась поддержка плагина Android Development Tools (ADT) для Eclipse.
Android Studio, основанная на программном обеспечении IntelliJ IDEA от компании JetBrains, официальное средство разработки Android приложений. Данная среда разработки доступна для Windows, OS X и Linux.
Новые функции появляются с каждой новой версией Android Studio. На данный момент доступны следующие функции:
— расширенный редактор макетов: WYSIWYG, способность работать с UI компонентами при помощи Drag-and-Drop, функция предпросмотра макета на нескольких конфигурациях экрана;
— сборка приложений, основанная на Gradle;
— различные виды сборок и генерация нескольких .apk файлов;
— статический анализатор кода (Lint), позволяющий находить проблемы производительности, несовместимости версий и другое;
— встроенный ProGuard и утилита для подписки приложений;
— шаблоны основных макетов и компонентов Android;
— поддержка разработки приложений для Android Wear и Android TV;
— встроенная поддержка Google Cloud Platform, которая включает в себя интеграцию с сервисами Google Cloud Messaging и App Engine.
Для тестирования приложений используется эмулятор Genymotion.
— быстрая загрузка и запуск предварительно настроенных образов Android. Список устройств постоянно расширяется;
— GPS (с настраиваемыми координатами) и батарея (с настраиваемым уровнем батареи);
— отображение: аппаратное ускорение с OpenGL, режим полноэкранного просмотра;
— консоль, которая позволяет вам взаимодействовать с вашей виртуальной машиной, используя командную строку;
— эмуляция передней и задней камеры;
— плагины к Eclipse и Android Studio;
— поддерживает Linux, Windows и Mac;
— в будущих релизах ожидается появление новых сенсоров: гироскоп, яркость экрана, температура, вектор поворота;
— работает на порядок быстрее эмуляторов от Google (не только на процессорах Intel);
— общий буфер обмена виртуального устройства и ПК;
— редактирование количества процессоров (CPU) и количества оперативной памяти (RAM) в настройках виртуального устройства;
— генерирование архива log файлов при обращении в техническую поддержку;
— исправления ошибок падения эмулятора, добавлена информация в логах;
— эмуляция работы интернета через GPRS, Edge, 3G, 4G.
3. Структура программы
В данной работе несколько классов реализующих логику как самой игры, так и всего приложения.
SnakeGame, класс который является реализацией логики «Змейки».
Класс SimpleSnakeActivity содержит описание разметки. Приложение построено на двух Activity: первая — это активити с меню игры, она же отображает результаты, а вторая — активити с самой игрой. Для первой активити сделано два разных файла разметки. Первый файл содержит всего одну кнопку, а второй — надписи и кнопку.
Класс GameSurface наследуется от SurfaceView — в нём производится прорисовка. Это конструктор, в котором мы создаем новое игровое поле и загружаем ресурсы (картинки), а также простой метод для отрисовки.
Класс GameActivity, на нем располагается экземпляр GameSurface, именно он обрабатывает показания акселерометра и определяет куда пользователь решил двинуть змею.
Класс GraphUpdater при создании должен получить экземпляр GameSurface и вызывать метод отрисовки.
Класс StepUpdater вызывает метод step() из переданной ему в конструктор GameActivity.
Таким образом, задавая интервал в последних двух классах для выполнения этих заданий мы можем регулировать скорость движения змейки и скорость отрисовки.
4. Реализация программы
мобильный приложение java эмулятор
Класс pos записывает положение змейки в координаты x, y, также есть переменная mDirection которая записывает направление движения змейки. Здесь же имеются два основных компонента змейки. Массив mSnake двумерные координаты каждого сегмента змейки, собственно сама змейка. И само игровое поле mField — двумерный массив, каждый элемент которого кодирует одну клетку игрового поля: 1 — это клетка в которой находится змея; 0 — это клетка в которой ничего нет, а 2 — это клетка в которой есть фрукт.
В конструкторе очищается игровое поле, задается начальное положение змейки. А так же с помощью метода addFruite() добавляется один фрукт на игровое поле.
Метод nextMove() возвращает true, если змея может двигаться дальше в направлении указанном в переменной mDirection. Прежде всего определяется в каком именно направлении должна двигаться змейка, затем для каждого направления проверяются такие параметры как «не упрется ли змея в стену», «не съест ли она фрукт», и если съест, то как именно будет расти дальше. В случае, если все проверки прошли удачно, то возвращается истина, если нет, то ложь.
В onCreate() создаётся игровая поверхность (surf) и размещается на нашей активити. Затем инициализируется таймер. Следующим шагом получаем ширину и высоту экрана. С помощью метода getSystemService() получаем значение для переменной mSensorManager, а у нее уже запрашивается список всех датчиков, установленных на устройстве. Затем в цикле перебираем все датчики до тех пор, пока не находится акселерометр.
В методе onStart() регистрируется таймер, а также форма (реализующая интерфейс SensorEventListener) как слушатель событий связанных с изменением датчиков, ну а затем указывается системе не глушить подсветку во время работы активити.
В методе getDirection() определяется в какую сторону должна двигаться змея в зависимости от отклонения телефона по оси x или y. Сами отклонения передаются сюда как параметры. Метод onSensorChanged() вызывается тогда, когда меняется положение телефона в пространстве. Прежде всего мы получаем данные от датчика, затем проверяем, если игра только что открылась, и это первый раз, когда мы считываем координаты, то принимаем текущее положение телефона за эталонное. Это нужно для того, чтобы пользователь смог играть не только расположив телефон горизонтально. В таком случае текущие координаты становятся поправкой. Если мы уже не первый раз считываем положение датчика, тогда высчитываем отклонение телефона в ту или иную сторону исходя из начальной поправки и текущих показаний датчика. И устанавливаем новое направление движения змеи.
Последний метод в этом классе — step(). В его задачи входит подать команду змее на новый ход и посмотреть, что ответит змея. Если змея может туда идти, то все нормально, а если нет, то тут мы закрываем нашу активити и попадаем на экран конца игры.
5 Инструкция пользователя
После запуска приложения появится начальный экран с одной кнопкой, позволяющей начать новую игру. Для начала игры нужно нажать кнопку посередине экрана, после чего запустится сама игра.
Управление змейкой осуществляется с помощью акселерометра, то есть нужно наклонять телефон влево-вправо для того, чтобы задавать направление движения змейки. Цель игры собрать как можно больше яблок и соответственно набрать очков, которые могут наблюдаться на экране в верхнем левом углу. Игра заканчивается после проигрыша (змейка сталкивается со стеной или сама с собой) или выигрыша (змейка собирает все яблоки и становится размером в игровое поле). После одного из этих событий на экране будет показано количество набранных очков и предложение начать новую игру.
Заключение
В ходе курсовой работы были изучены основы работы в среде программирования Android Studio, написания приложения на ОС Андроид, работы с акселерометром и отрисовки графики.
Библиографический список
1 Майер, Р. Android Studio. Программирование приложений для планшетных компьютеров и смартфонов. / Рето Майер. — М.: Экcмо, 2013. — 816 с.
2 Бурнет, Э. Привет, Android! Разработка мобильных приложений. / Эр Бурнет. — СПб: Питер, 2012. — 256с.
3 Android Studio- [Электронный ресурс] — Режим доступа: https://ru.wikipedia.org/wiki/Android_Studio
Приложение А
Рисунок А.1 — Экран для запуска игры.
Рисунок А.2 — Экран после конца игры.
Рисунок А.3 — Игровое поле.
Приложение Б
public class SnakeGame <
// класс определяющий позицию
public class pos <
public static final int DIR_NORTH = 1;
public static final int DIR_EAST = 2;
public static final int DIR_SOUTH = 3;
public static final int DIR_WEST = 4;
// ширина и высота игрового поля
// подбиралось исходя из пропорций экрана моего девайса
public static int mFieldX = 18;
public static int mFieldY = 30;
public int mScore=0;
// Матрица — игровое поле
private int mField[][] = new int[mFieldX][mFieldY];
// Сама змея — массив двумерных координат каждого сегмента
mSnake = new ArrayList
// Текущее направление движения змеи
int mDirection = SnakeGame.DIR_EAST;
// пераметр по которому определяется должна ли
// змейка расти или нет
int isGrowing = 0;
// очищаем игровое поле
for (int i = 0; i = 0) && mField[nextX][nextY] == 0) <
// то мы проверяем, растет ли в данный момент змея
if (isGrowing > 0) <
// если растет, уменьшаем запас роста и не
// двигаем хвост змеи
// если не растет, то передвигаем хвост змеи
//Затем перемещаем голову змеи
mSnake.add(new pos(nextX, nextY));
// и на этом все закончилось
> else if ((nextY >= 0) && mField[nextX][nextY] == 1) <
// если мы уткнулись в препятствие возвращаем ложь
> else if ((nextY >= 0) && mField[nextX][nextY] > 1) <
// А вот если мы уткнулись во фрукт,
// тогда увеличиваем запас роста
isGrowing = isGrowing + 2;
// и переносим голову змеи
// на соответствующую клетку поля
mSnake.add(new pos(nextX, nextY));
// ну и соответственно добавляем на поле новый фрукт!
// во всех остальных случаях возвращаем false
// Здесь все то же самое, только
// для других направлений
int nextX = mSnake.get(mSnake.size() — 1).x + 1;
int nextY = mSnake.get(mSnake.size() — 1).y;
mSnake.add(new pos(nextX, nextY));
> else if ((nextX 1) <
isGrowing = isGrowing + 2;
mSnake.add(new pos(nextX, nextY));
int nextX = mSnake.get(mSnake.size() — 1).x;
int nextY = mSnake.get(mSnake.size() — 1).y + 1;
mSnake.add(new pos(nextX, nextY));
> else if ((nextX 1) <
isGrowing = isGrowing + 2;
mSnake.add(new pos(nextX, nextY));
int nextX = mSnake.get(mSnake.size() — 1).x — 1;
int nextY = mSnake.get(mSnake.size() — 1).y;
if ((nextX >= 0) && mField[nextX][nextY] == 0) <
if (isGrowing > 0) <
mSnake.add(new pos(nextX, nextY));
> else if ((nextX >= 0) && mField[nextX][nextY] == 1) <
> else if ((nextX >= 0) && mField[nextX][nextY] > 1) <
Источник