Программирование мобильных устройств (часть 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). Контрольная работа и Лабораторные работы №№1-3. Вариант №1
bananchik
: 22 апреля 2020
Задание 1: Последняя цифра пароля: 5
Вариант: 3
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
Дополнительные материалы
Видео по обработчику кнопок
Видео Простой список
Список произвольного вида
Задание 2: Последняя цифра п
224 руб.
Программирование мобильных устройств (часть 1-я).
Леший
: 9 июля 2021
Тест из 4 вопросов.
1 К особенностям java относится:
Возможность множественного наследования
Возможность полиморфизма
Является низкоуровневым языком
программирования
Является кроссплатформенным
2 Принцип инкапсуляции:
позволяет вводить ограничения доступа к полям
класса
Позволяет использовать отладку программы
Позволяет создавать класс на основе уже реализованных классов
Позволяет проводи
500 руб.
Программирование мобильных устройств (часть 1). Контрольная работа, Лабораторные работы 1-3. Вариант 3.
rmn77
: 26 апреля 2019
Программирование мобильных устройств (часть 1). Контрольная работа, Лабораторные работы 1-3. Вариант 3.
Задание 1:
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
Дополнительные материалы
Видео по обработчику кнопок
Видео П
150 руб.
Лабораторная работа №1 по дисциплине: Программирование мобильных устройств (часть 1). Вариант 7
Учеба "Под ключ"
: 15 марта 2026
Лабораторная работа 1
«Создание формы ввода данных с валидацией»
Цель: Научиться создавать интерфейс формы ввода данных, реализовывать клиентскую валидацию и обработку ошибок.
Задание: Создать интерактивный пользовательский интерфейс с валидацией полей, обработкой ошибок и отображением Toast-уведомлений при успешной отправке.
Номер варианта соответствует последней цифре Вашего пароля.
Среда разработки: Android Studio.
Язык: Kotlin.
Вариант 7: Форма поиска недвижимости.
Порядок вы
700 руб.
Другие работы
Цилиндр пневмогидравлический УСП-632 ЧЕРТЕЖ
coolns
: 14 ноября 2025
Цилиндр пневмогидравлический УСП-632 ЧЕРТЕЖ
Цилиндр пневмогидравлический УСП-632 СБ
Цилиндр пневмогидравлический УСП-632 спецификация
Цилиндр пневмогидравлический УСП-632 3d сборка
Цилиндр пневмогидравлический УСП-632 чертежи
Поршень УСП-632.01
Сальник УСП-632.02
Крышка УСП-632.03
Пружина УСП-632.04
Корпус УСП-632.05
Кольцо УСП-632.06
Пробка УСП-632.07
Все чертежи и 3d модели (все на скриншотах показано и присутствует в архиве) выполнены в КОМПАС 3D.
Также открывать и просматр
500 руб.
КОНТРОЛЬНАЯ РАБОТА по физике №1 ВАРИАНТ - 4
ilias83
: 14 июля 2019
Работа из сборника:
Методические указания для студентов заочной формы обучения по физике. Контрольные работы
Часть 1. Сибгути. 2016 г.
350 руб.
Контрольная работа по дисциплине: Основы проектирования линейных сооружений связи (Вариант 5)
hellofromalexey
: 30 марта 2022
Курсовая работа
по дисциплине
«Основы проектирования линейных сооружений связи»
Исходные данные к расчету числа каналов
Таблица 1
No варианта Трасса прокладки
05 Новокузнецк – Белово
1 ЧАСТЬ КУРСОВОГО ПРОЕКТА
Выбор трассы ВОЛП
1 Цель работы:
1.1 Изучить:
- теоретические основы измерений вносимых затуханий методом светопропусканий;
- особенности измерений методом светопропусканий;
1.2 Получить навыки расчета измеряемых параметров.
3 Подготовка к работе:
3.1.Определить свой вариант (послед
550 руб.
Экзамен. Билет №8. Алгебра и геометрия
skorovera
: 8 апреля 2014
1. Элементарные преобразования матрицы. Эквивалентность матриц.
2. Уравнения плоскости в пространстве. Даны векторы:
а(2;-3;1), b(-3;1;2), c(1;2;3)
Найти вектор u=(a*b)*(a*c) .
4. Малая полуось эллипса равна 3, эксцентриситет е=корень из двух/2 . Найти уравнение эллипса. Построить.
5. Исследовать систему и в случае совместности найти решение
100 руб.