Программирование мобильных устройств (часть 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 руб.
Другие работы
Алгоритмы и вычислительные методы оптимизации. Лабораторная работа №2. Вариант 1.
nik200511
: 11 февраля 2020
Лабораторная 2
Задание
Решите аналитически матричную игру 2×2, заданную платежной матрицей (найдите оптимальные стратегии игроков и цену игры).
Напишите программу, моделирующую результаты игры, разыграв 100 партий. Программа должна выводить:
результаты моделирования в виде таблицы с заголовками:
Номер партии Случайное число для игрока А Стратегия игрока А Случайное число для игрока В Стратегия игрока В Выигрыш игрока А Накопленный выигрыш А Средний выигрыш А
*средний выигрыш игрока А находится
47 руб.
Автоматизированный электропривод главного движения многоцелевого специального станка ИР 500 ПМФ4
lordMaks
: 15 ноября 2011
СОДЕРЖАНИЕ
Введение
1 Технологическая часть
1.1 Описание промышленной установки и анализ технологического процесса
1.2 Анализ кинематической схемы, определение параметров и составление расчетной схемы механической части электропривода
2 Выбор системы электропривода и автоматизации
промышленной установки
2.1 Литературный обзор по теме проекта
2.2 Формулирование требований к автоматизированному электроприводу и системе автоматизации
2.3 Определение возможных вариантов и выбор рацио
Борторасширитель ручной для грузовых шин (сборочный чертеж)
AgroDiplom
: 7 марта 2019
Борторасширители применяются для разведения бортов шины, для получения лучшего доступа к ее внутрекней части в целях осмотра и ремонта, облегчает работу мастера при ремонте колеса, когда необходимо добраться к труднодоступному месту. Принцип действия борторасширителя основан на рычажном разведении бортов шины в противоположные стороны, что гарантирует легкий доступ к внутренней части шины. Борторасширители бывают: по виду обслуживаемых колес: борторасширители для легковых авто, борторасширители
690 руб.
Проект образования землевладения крестьянского хозяйства «Мир» Очерского района Пермской области
Elfa254
: 27 декабря 2013
В результате проектирования крестьянского хозяйства «Мир» решены следующие задачи:
Установлены состав угодий, площадь и местоположение земель сельской администрации, предназначенных для выпаса личного скота и сенокошения граждан. По расчетам необходимо земель сельской администрации: 51,54 га пастбищ, 117,21 га сенокосов.
Установлены состав угодий, площадь и местоположение земель фонда перераспределения земель. На территории хозяйства СХПК «Талицкое» в фонд перераспределения земель передано: 25
25 руб.