Программирование мобильных устройств (часть 1). Лабораторные работы №№1-3 и контрольная работа №1
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Excel
- Программа для просмотра изображений
- Microsoft Word
Описание
Задание 1:
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
Дополнительные материалы
Видео по обработчику кнопок
Видео Простой список
Список произвольного вида
Задание 2: Необходимо написать игру. Сюжет: множество насекомых ползают по экрану по сложной траектории. Задача игрока уничтожить за отведенное время как можно больше насекомых. За промахи игроку начисляется очки отнимаются. Игра должна сопровождаться звуковыми эффектами. Варианты:
1. В качестве насекомых (осы, и пауки)
2. В качестве насекомых (Божьи коровки, мухи)
3. В качестве насекомых (тараканы, и пчелы)
4. В качестве насекомых (осы, и мухи)
5. В качестве насекомых (майские жуки, и тарантулы)
6. В качестве насекомых (тараканы, и пауки)
Описание выполнения:
Первым шагом необходимо определить архитектуру приложения. Пусть архитектура будет построена следующим образом.
Звуки и картинки насекомых следует брать в интернете. Следует дополнить этот набор картинок, добавив «красные пятна крови» (эти картинки будут появляться при «попадании» игроком).
Время раунда игры составляет 2 минуты.
При запуске приложения открывается меню, позволяющее вести имя игрока, просмотреть рекорд, задать количество жуков и приглашение к началу игры.
Основной класс приложения (main) будет заниматься прорисовкой всех жуков. Состояние всех жуков хранится в глобальном массиве структур(Mass) . Структура должна хранить координаты жука (x,y), направление движения (dx,dy),флаги(жив/мертв), и байт, соответствующей отображаемой картинке (т.к. жуки могут быть разными).
Работа класса происходит в бесконечном цикле, считывание информации из массива и корректное его отображение. Не рекомендуется заниматься прорисовкой из других потоков, т.к. это может привести к ошибкам.
В других потоках, соответствующих жукам, мы будем заниматься перерасчетом состояний отдельно каждого элемента глобального массива. При смерти жука, объект не уничтожается, а некоторое время просто не отображается на экране. В противном случае нам придется создавать каждый раз новых жуков, что потребует дополнительной памяти.
Отдельно в классе сервисе следует размещать мелодии в игре. Быстрые мелодии (хруст жука) менее 1-2 сек вполне можно размещать в классе main. Нужно не забыть отключать звуки при остановке приложений и восстанавливать при возобновлении работы приложения(используйте функции onPause и onResume).
Используйте класс Preferences для сохранения результатов игры.
Проверку попадания нажатия по жуку следует сделать так:
for (int i=0;i<N;i++){ //просматриваем весь массив структур
if (Mass[i].status==Alive){ // Если жук жив и ...
if ((Mass[i].x1<e;x)&&(x≤Mass[i].x2)&& (Mass[i].y1≤y)&&(y≤Mass[i].y2))
// координаты нажатия x,y по экрану лежат на картинке, где x1 x2 –границы
// картинки жука и x1≤x≤x2 и y1≤y≤y2
{
//Попали по жуку
}
}
}
Допускается использовать вместо класса Panel, класс SurfaceHolder.
Элементы кода
Рисование с использованием класса Panel
Сохранения состояния класс Preferences
Звуковые эффекты
Потоки и таймеры
Работа с Touchpad
Задание 3:
Реализуйте прыгающий <объект>. Начальная позиция появления объекта определяется нажатием пальца по экрану. Объект падает с ускорением вниз, отражаясь от нижней границы экрана, и с незначительным смешением вправо. С каждым разом высота отскока объекта уменьшается, и когда объект практически остановится, он пропадает с экрана. Объектов может быть несколько, поэтому каждый должен обрабатываться в отдельном потоке приложения. (<объект> - Буква Вашей фамилии, после каждого нажития буква меняется на следующую, по окончанию Вы опять возвращаетесь на первую букву).
Для примера <объект> - цифра восемь, направление падения схематично показано красным.
Отметьте желтым цветом правильные варианты ответов, отправьте данный файл на проверку
1. Какие свойства соответствуют Android
Кроссплатформенность
Высокая защищенность
Является бесплатной
Отсутствие вредоносных программ, выполняемых на базе данной операционной системы
Является потоковонебезопасной
2. Назначение класса Intent.
Обмен запросов с ОС
Инициализация средств OpenGL
Сохранение состояние приложения
3. Если интерфейс приложения подвис более чем на 5 секунд то произойдет
Ничего не произойдет
Появится сообщение Application not Responded (с вопросом о закрытия приложения)
Приложение закроется самостоятельно
4. Потоки рекомендуют применять в случаях
Написания приложения, закачивающего данные из сети
Для обновления элементов интерфейса
Для использования класса Intent
5. AndroidManifest.xml
Определяет состав классов приложения
Определяет события системы при которых приложения запустится
Определяет цвет фона приложения
Является необязательным файлом приложения
Содержит исходный код для установки и удаления программы
6. Класс R.java
предназначен для задания идентификаторов элементам интерфейса
Предназначен для запуска приложения
Запрещен к редактированию пользователем
Определяет состав классов приложения
7. К особенностям java относится
Возможность множественного наследования
Возможность полиморфизма
Является низкоуровневым языком программирования
Является кроссплатформенным
8. Принцип инкапсуляции
позволяет вводить ограничения доступа к переменным класса
Позволяет использовать отладку программы
Позволяет создавать класс на основе уже реализованных классов
Позволяет проводить перегрузку имен функций
9. К средам разработки относится
Android Studio
BlueStacks
Intellij Idea
Java
10. Спецификатор super необходим для
Обращения к полям класса
При вызове всех функций в методе OnCreate и OnStop
Обращения к полям родительского класса
Обращения к методам родительского класса
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
Дополнительные материалы
Видео по обработчику кнопок
Видео Простой список
Список произвольного вида
Задание 2: Необходимо написать игру. Сюжет: множество насекомых ползают по экрану по сложной траектории. Задача игрока уничтожить за отведенное время как можно больше насекомых. За промахи игроку начисляется очки отнимаются. Игра должна сопровождаться звуковыми эффектами. Варианты:
1. В качестве насекомых (осы, и пауки)
2. В качестве насекомых (Божьи коровки, мухи)
3. В качестве насекомых (тараканы, и пчелы)
4. В качестве насекомых (осы, и мухи)
5. В качестве насекомых (майские жуки, и тарантулы)
6. В качестве насекомых (тараканы, и пауки)
Описание выполнения:
Первым шагом необходимо определить архитектуру приложения. Пусть архитектура будет построена следующим образом.
Звуки и картинки насекомых следует брать в интернете. Следует дополнить этот набор картинок, добавив «красные пятна крови» (эти картинки будут появляться при «попадании» игроком).
Время раунда игры составляет 2 минуты.
При запуске приложения открывается меню, позволяющее вести имя игрока, просмотреть рекорд, задать количество жуков и приглашение к началу игры.
Основной класс приложения (main) будет заниматься прорисовкой всех жуков. Состояние всех жуков хранится в глобальном массиве структур(Mass) . Структура должна хранить координаты жука (x,y), направление движения (dx,dy),флаги(жив/мертв), и байт, соответствующей отображаемой картинке (т.к. жуки могут быть разными).
Работа класса происходит в бесконечном цикле, считывание информации из массива и корректное его отображение. Не рекомендуется заниматься прорисовкой из других потоков, т.к. это может привести к ошибкам.
В других потоках, соответствующих жукам, мы будем заниматься перерасчетом состояний отдельно каждого элемента глобального массива. При смерти жука, объект не уничтожается, а некоторое время просто не отображается на экране. В противном случае нам придется создавать каждый раз новых жуков, что потребует дополнительной памяти.
Отдельно в классе сервисе следует размещать мелодии в игре. Быстрые мелодии (хруст жука) менее 1-2 сек вполне можно размещать в классе main. Нужно не забыть отключать звуки при остановке приложений и восстанавливать при возобновлении работы приложения(используйте функции onPause и onResume).
Используйте класс Preferences для сохранения результатов игры.
Проверку попадания нажатия по жуку следует сделать так:
for (int i=0;i<N;i++){ //просматриваем весь массив структур
if (Mass[i].status==Alive){ // Если жук жив и ...
if ((Mass[i].x1<e;x)&&(x≤Mass[i].x2)&& (Mass[i].y1≤y)&&(y≤Mass[i].y2))
// координаты нажатия x,y по экрану лежат на картинке, где x1 x2 –границы
// картинки жука и x1≤x≤x2 и y1≤y≤y2
{
//Попали по жуку
}
}
}
Допускается использовать вместо класса Panel, класс SurfaceHolder.
Элементы кода
Рисование с использованием класса Panel
Сохранения состояния класс Preferences
Звуковые эффекты
Потоки и таймеры
Работа с Touchpad
Задание 3:
Реализуйте прыгающий <объект>. Начальная позиция появления объекта определяется нажатием пальца по экрану. Объект падает с ускорением вниз, отражаясь от нижней границы экрана, и с незначительным смешением вправо. С каждым разом высота отскока объекта уменьшается, и когда объект практически остановится, он пропадает с экрана. Объектов может быть несколько, поэтому каждый должен обрабатываться в отдельном потоке приложения. (<объект> - Буква Вашей фамилии, после каждого нажития буква меняется на следующую, по окончанию Вы опять возвращаетесь на первую букву).
Для примера <объект> - цифра восемь, направление падения схематично показано красным.
Отметьте желтым цветом правильные варианты ответов, отправьте данный файл на проверку
1. Какие свойства соответствуют Android
Кроссплатформенность
Высокая защищенность
Является бесплатной
Отсутствие вредоносных программ, выполняемых на базе данной операционной системы
Является потоковонебезопасной
2. Назначение класса Intent.
Обмен запросов с ОС
Инициализация средств OpenGL
Сохранение состояние приложения
3. Если интерфейс приложения подвис более чем на 5 секунд то произойдет
Ничего не произойдет
Появится сообщение Application not Responded (с вопросом о закрытия приложения)
Приложение закроется самостоятельно
4. Потоки рекомендуют применять в случаях
Написания приложения, закачивающего данные из сети
Для обновления элементов интерфейса
Для использования класса Intent
5. AndroidManifest.xml
Определяет состав классов приложения
Определяет события системы при которых приложения запустится
Определяет цвет фона приложения
Является необязательным файлом приложения
Содержит исходный код для установки и удаления программы
6. Класс R.java
предназначен для задания идентификаторов элементам интерфейса
Предназначен для запуска приложения
Запрещен к редактированию пользователем
Определяет состав классов приложения
7. К особенностям java относится
Возможность множественного наследования
Возможность полиморфизма
Является низкоуровневым языком программирования
Является кроссплатформенным
8. Принцип инкапсуляции
позволяет вводить ограничения доступа к переменным класса
Позволяет использовать отладку программы
Позволяет создавать класс на основе уже реализованных классов
Позволяет проводить перегрузку имен функций
9. К средам разработки относится
Android Studio
BlueStacks
Intellij Idea
Java
10. Спецификатор super необходим для
Обращения к полям класса
При вызове всех функций в методе OnCreate и OnStop
Обращения к полям родительского класса
Обращения к методам родительского класса
Дополнительная информация
СИБГУТИ ДО год сдачи 2019 оценка зачет
Похожие материалы
Лабораторная работа №1 Программирование мобильных устройств (часть 1)
holm4enko87
: 10 декабря 2024
Задание 1:
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
вариант 1: вычисление синуса
100 руб.
Программирование мобильных устройств (часть 1-я). Лабораторная работа №1. Вариант №1.
sibguter
: 27 декабря 2019
Вариант 1.
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
200 руб.
Программирование мобильных устройств (часть 1-я). Лабораторная работа №1. Вариант №2.
sibguter
: 19 октября 2019
Вариант 2.
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
200 руб.
Программирование мобильных устройств (часть 1-я). Лабораторная работа №1. Вариант №3.
sibguter
: 5 января 2019
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
200 руб.
Программирование мобильных устройств (часть 1-я).
Леший
: 9 июля 2021
Тест из 4 вопросов.
1 К особенностям java относится:
Возможность множественного наследования
Возможность полиморфизма
Является низкоуровневым языком
программирования
Является кроссплатформенным
2 Принцип инкапсуляции:
позволяет вводить ограничения доступа к полям
класса
Позволяет использовать отладку программы
Позволяет создавать класс на основе уже реализованных классов
Позволяет проводи
500 руб.
Программирование мобильных устройств (часть 1). Контрольная работа и Лабораторные работы №№1-3. Вариант №1
bananchik
: 22 апреля 2020
Задание 1: Последняя цифра пароля: 5
Вариант: 3
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
Дополнительные материалы
Видео по обработчику кнопок
Видео Простой список
Список произвольного вида
Задание 2: Последняя цифра п
224 руб.
Программирование мобильных устройств (часть 1). Контрольная работа, Лабораторные работы 1-3. Вариант 3.
rmn77
: 26 апреля 2019
Программирование мобильных устройств (часть 1). Контрольная работа, Лабораторные работы 1-3. Вариант 3.
Задание 1:
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
Дополнительные материалы
Видео по обработчику кнопок
Видео П
150 руб.
Программирование мобильных устройств (часть 1). Лабораторные работы 1-3. Вариант 7
hikewa8019
: 7 апреля 2023
Язык: Kotlin
1 - возведение в степень
2 - майские жуки, и тарантулы
3 - буквы фамилии, общий вариант для всех
Лабораторная 1:
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (возведение в степень).
Лабораторная 2:
Необходимо написать игру. Сюжет: множество насекомых ползают по экрану по сложной траектории. З
800 руб.
Другие работы
Роман эпохи Просвещения
Slolka
: 21 октября 2013
Большое повествовательное произведение в прозе с вымышленным сюжетом появилось задолго до эпохи Просвещения. Однако именно просветительский роман утвердил себя в качестве основного жанра, самим фактом своего существования перевернув всю систему жанров, закреплённую поэтикой. Трактаты по поэтическому искусству учили, что проза в целом стоит гораздо ниже поэзии, а новые формы – от эссе до романа – и вовсе не предусмотрены. Роману на практике предстояло доказать своё литературное достоинство.
Его
Зачетная работа по дисциплине: Сети электросвязи и методы их защиты (часть 1). Билет №12
SibGOODy
: 17 марта 2018
Билет №12
1. Каковы основные свойства протокола UDP? Опишите структуру UDP-заголовка, назначение каждого из полей.
2. Опишите структуру сети АТМ.
250 руб.
Лабораторная работа по дисциплине: Стандарты и технологии в системах мобильной связи. Вариант №15
IT-STUDHELP
: 12 июля 2023
Лабораторная работа
Проектирование сети с помощью Wi-Fi Planner PRO
Задание.
Обеспечить планирование сети беспроводного доступа на базе технологии WiFi IEE802.11n с равномерным покрытием этажа здания (рисунок 14) из монолитного железобетона с толщиной стен 140 мм и перегородок 100 мм. Необходимо обеспечить скорость доступа по покрытия не ниже 10 Мбит/с.
=============================================
600 руб.
Анализ и пути совершенствования форм и систем оплаты труда в ЗАО «Ландыш
katinaqw
: 16 августа 2013
Содержание
Введение……………………………………………………………………..
1 Оплата труда – цена рабочей силы, ее сущность в рыночных
условиях.
2. Формы и системы оплаты труда, их содержание и применение
3 Экономическая характеристика финансово-хозяйственной
деятельности ЗАО «Ландыш»
4. Анализ действующих форм и систем оплаты труда работников
в ЗАО «ЛАНДЫШ»
5 Анализ эффективности расходов на оплату труда работников в
ЗАО «ЛАНДЫШ»
6 Направления совершенствования форм и систем оплаты труда
работников и эффективности их
90 руб.