Электронный учебно-методический комплекс по учебной дисциплине «Разработка программного обеспечения для мобильных платформ» для специальностей 6-05-0612-01 «Программная инженерия», 6-05-0611-01 «Информационные системы и технологии»
.pdfint * array = new int[size]; for (int i = 0; i < size; ++i) {
array[i] = rand() % 10;
}
cout << endl;
cout << "Original array: "; for (int i = 0; i < size; i++)
{
cout << "[" << array[i] << "]";
}
cout << endl; cout << endl;
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size - 1; j++)
{
if (array[j] == 0 && array[j + 1] != 0)
{
int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp;
}
}
}
cout << "Modified array: "; for (int i = 0; i < size; i++)
{
cout << "[" << array[i] << "]";
}
cout << endl;
delete[] array;
return 0;
}
Результаты работы программы (здесь предоставляются копии экранов
результата работы программы)
8. Заключение (½ стр.), в котором подводятся итоги выполнения индивидуальных заданий, обобщаются и формулируются выводы. Слово ЗАКЛЮЧЕНИЕ записывают прописными буквами полужирным шрифтом по центру.
9. Список использованных источников, записывают прописными буквами полужирным шрифтом по центру строки, в котором перечень источников с указанием их порядкового номера приводится в порядке очередности цитирования либо в алфавитном порядке. Источник – это книга, журнал и т. п. Ссылки на сайты и имена файлов допустимо использовать только как дополнение к названию документа. При приведении в пояснительной записке теоретических или справочных сведений обязательно приводится
121
ссылка на источник (номер ссылки в квадратных скобках – [5]). Список использованных источников оформляется отдельным разделом. Использование заимствованных сведений без ссылок является плагиатом, свидетельствует о несамостоятельном выполнении работы, и служит основанием для недопуска к защите контрольной работы. Рекомендуется оформлять список источников по примеру на сайте ВАК «Образцы оформления библиографического описания в списке источников, приводимых в диссертации и автореферате».
Каждый раздел работы (введение, главы, заключение и т. д.) должен иметь заглавие.
ОБЩИЕ ТРЕБОВАНИЯ ПО ОФОРМЛЕНИЮ КОНТРОЛЬНОЙ РАБОТЫ
Контрольную работу выполняют с применением печатающих и графических устройств вывода ПЭВМ. Текст располагают на одной стороне листа формата А4 с соблюдением размеров полей и интервалов. Объем контрольной работы рекомендуется текста через 1,5 интервала, шрифт – 13-14 pt Times New Roman, (поля страниц: левое – 3 см., правое – 2 см., верхнее и нижнее
– 1 см.). Номера разделов, подразделов, пунктов и подпунктов следует выделять полужирным шрифтом. Заголовки разделов рекомендуется оформлять полужирным шрифтом размером 1 4 - 1 6 пунктов, а подразделов – полужирным шрифтом 13 - 14 пунктов. Номера страниц обозначаются в правом верхнем углу (титульный лист не нумеруется). Рисунки нумеруются согласно появлению в тексте (выравнивание по центру, шрифт на 2 пункта меньше основного текста)
При оформлении рекомендуется следовать принципам оформления типовых учебных текстов и рекомендациям оформления ВАК. Контрольная работа должна быть оформлена строго в едином стиле!
Необходимо предоставить печатный вариант контрольной работы, а также при необходимости предоставить электронный вариант в рекомендуемом формате doc, docx. Также для программного кода иметь возможность предоставить рабочие файлы.
ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ
Основой для контрольной работы должно быть соответствующее задание, которое выдается студенту преподавателем в первые две недели обучения семестра, в котором учебным планом он предусмотрен. Варианты заданий могут отличаться друг от друга как исходными данными, так и характером решаемых задач. Для раздела «Разработка программоного обеспечения для мобильных платформ» имеется несколько вариантов заданий. Рекомендуется выбирать вариант индивидуальных заданий по последнему номеру зачетной книжки (или кратно количеству вариантов при превышающем номере зачетной книжки).
Общее количество заданий по контрольной равно 8. Темы заданий соответствуют темам лабораторных работ.
122
123
ВАРИАНТЫ ЗАДАНИЯ НА КОНТРОЛЬНУЮ РАБОТУ
1.Разработать приложение "Калькулятор ИМТ" (индекс массы тела) с вводом роста и веса.
2.Создать приложение "Конвертер валют" с актуальными курсами валют.
3.Реализовать приложение "Будильник" с возможностью установки и удаления будильников.
4.Создать мобильное приложение "Таймер обратного отсчета".
5.Разработать приложение "Заметки", сохраняющее текстовые записи на устройстве.
6.Разработать приложение "Секундомер" с функцией сохранения результатов.
7.Создать приложение "Конвертер единиц измерения" (длина, масса, температура).
8.Разработать приложение "Генератор случайных чисел" с выбором диапазона.
9.Реализовать приложение "Простой список покупок" с возможностью
добавления и удаления элементов.
10.Создать приложение "Калькулятор процентов" для расчета процентов от суммы.
11.Реализовать приложение "Конвертер температуры" (°C, °F, K). 12.Разработать приложение "Финансовый калькулятор" с расчетом кредита. 13.Разработать приложение "Дневник настроения" с эмодзи и текстовыми
заметками.
14.Создать приложение "Личный бюджет" для учета доходов и расходов. 15.Реализовать приложение "Словарь иностранных слов" с локальным
хранилищем.
16.Разработать приложение "Рассчет налога на доход" с учетом категории. 17.Реализовать приложение "Трекер воды", учитывающее количество
выпитой воды в день.
18.Разработать приложение "Медитативный таймер" с выбором времени и звуков.
19.Создать приложение "Список дел" с возможностью пометки выполненных задач.
20.Разработать приложение "Калькулятор дней между датами". 21.Реализовать приложение "Конвертер расстояний" с выбором единиц (м,
км, мили).
22.Разработать приложение "Определение времени суток" с приветствием по времени.
124
23.Создать приложение "Рандомайзер задач" с возможностью добавления задач.
24.Разработать приложение "Флэш-карточки" для запоминания терминов. 25.Реализовать приложение "Калькулятор чаевых" с выбором процента. 26.Создать приложение "Погода" с вводом города и отображением
фиктивных данных.
27.Разработать приложение "Счетчик шагов" (эмуляция или ручной ввод). 28.Реализовать приложение "Проверка на четность/нечетность числа". 29.Создать приложение "Определение сезона по месяцу" (ввод номера
месяца).
30.Разработать приложение "Калькулятор простых процентов" для финансовых расчетов.
125
ВОПРОСЫ ДЛЯ КОНТРОЛЯ ЗНАНИЙ
1.Что такое Android и на каком ядре построена эта система?
2.Назовите два официальных языка разработки под Android.
3.Какие существуют среды разработки для Android?
4.Почему Android Studio считается предпочтительной средой разработки?
5.Что такое APK и как он формируется?
6.Какие типы компонентов входят в Android-приложение?
7.Что такое Intent в Android?
8.В чем отличие Activity от Service?
9.Какие задачи выполняет BroadcastReceiver?
10.Что такое ContentProvider и для чего он используется?
11.Раздел 2. Структура проекта
12.Что содержит файл AndroidManifest.xml?
13.Что происходит, если компонент не описан в AndroidManifest.xml?
14.Какова структура стандартного Android-проекта?
15.Какова роль файла R.java?
16.Что такое Gradle и какую роль он играет?
17.Как задать уникальный идентификатор ресурса?
18.Где хранятся изображения и макеты в Android Studio?
19.Раздел 3. Интерфейс пользователя
20.Какие есть основные виды Layout-контейнеров?
21.Чем отличается LinearLayout от RelativeLayout?
22.Для чего используется ConstraintLayout?
23.Как задать отступы у элемента в XML?
24.Что означает атрибут layout_weight?
25.В чем отличие match_parent и wrap_content?
26.Как работает ScrollView?
27.Что делает атрибут android:gravity?
28.Как программно изменить текст у кнопки?
126
29.В чем отличие padding и margin?
30.Раздел 4. Ресурсы
31.Где хранятся строковые ресурсы?
32.Как обратиться к строке из XML?
33.Как задать ресурсы для разных языков?
34.Как задаются размеры в Android?
35.Что такое dp, sp и px?
36.Что такое ресурсы plurals?
37.Как использовать массив строк в ресурсах?
38.Для чего используются квалификаторы ресурсов?
39.Как задать альтернативный layout для горизонтальной ориентации?
40.Какие есть типы ресурсов в папке res/?
41.Раздел 5. Программная часть
42.Как работает метод findViewById()?
43.Что делает метод setContentView()?
44.Как инициировать обработку нажатия на кнопку?
45.Как создать активность?
46.В каком методе запускается код активности?
47.Как получить доступ к цвету из ресурсов в коде?
48.Что такое ID ресурса?
49.Как передать данные между активностями?
50.Какова роль метода onCreate()?
51.Раздел 6. Архитектура и компиляция
52.Из каких уровней состоит архитектура Android?
53.Чем отличается Dalvik от ART?
54.Что делает инструмент aapt?
55.Как формируется файл classes.dex?
56.Что происходит на этапе компиляции Java-кода?
57.Как происходит сборка ресурсов?
58.Для чего используется dx или d8?
127
59.Что делает jarsigner?
60.Раздел 7. Эмуляция и запуск
61.Как включить отладку по USB на реальном устройстве?
62.Какие существуют эмуляторы для Android?
63.Что необходимо для запуска приложения на эмуляторе?
64.Как проверить отображение элементов интерфейса?
65.Что показывает Component Tree?
66.Какие режимы редактирования интерфейса доступны в Android Studio?
128
РАЗДЕЛ 4 ВСПОМОГАТЕЛЬНЫЙ
УЧЕБНАЯ ПРОГРАММА 6-05-0611-01
Учебная программа по учебной дисциплине «Разработка программоного обеспечения для мобильных платформ» разработана для по специальности 6-05-0611-01 «Информационные системы и технологии». Учебная дисциплина «Разработка программного обеспечения для мобильных платформ» знакомит студентов с основными принципами проектирования, построения и функционирования мобильных операционных систем.
Подробно рассматриваются вопросы архитектуры мобильных платформ, особенности работы с ограниченными ресурсами и энергопотреблением, жизненный цикл мобильных приложений, управление процессами и потоками в мобильной среде. Изучаются методы межпроцессного взаимодействия, использование различных механизмов обмена данными, включая интенты, сервисы и контент-провайдеры.
Рассматриваются основы работы с файловой системой мобильного устройства, принципы управления памятью и особенностями обработки исключений в мобильных приложениях. Также затрагиваются вопросы создания
ииспользования библиотек, подключаемых во время выполнения и взаимодействия с системными сервисами.
Особое внимание уделено вопросам отладки и тестирования мобильных приложений. Даётся обзор современных инструментов анализа, профилирования
иустранения ошибок. Приводятся практические рекомендации по настройке отладчиков и логирования, рассматриваются типовые сценарии поиска и устранения дефектов.
Рассматриваются также методы анализа поведения мобильных приложений, перехвата сетевых и системных вызовов, мониторинга состояния устройства и управления потоками данных. Главной задачей данных тем является формирование у студентов глубокого понимания архитектуры мобильных приложений, механизмов передачи управления, работы с системными ресурсами и пользовательским интерфейсом. В рамках курса предусмотрены соответствующие лабораторные работы.
Цели учебной дисциплины «Разработка программного обеспечения для мобильных платформ»: изучение архитектуры и принципов функционирования мобильных операционных систем, а также освоение методов и инструментов разработки, отладки и сопровождения мобильного программного обеспечения Задачи учебной дисциплины:
–изучение архитектуры мобильных операционных систем;
129
–освоение принципов функционирования компонентов мобильной платформы и их взаимодействия;
–изучение возможностей платформенных API для создания эффективных, производительных и безопасных мобильных приложений;
–ознакомление со средами разработки, инструментами отладки и профилирования мобильных приложений.
В результате изучения учебной дисциплины студент должен:
знать:
–архитектуру и основные компоненты мобильной операционной системы;
–жизненный цикл мобильных приложений и его особенности;
–механизмы взаимодействия между компонентами приложений;
–методы работы с потоками и синхронизации в мобильной среде;
–особенности модели памяти и управления ресурсами в мобильной ОС;
–принципы работы с файловой системой и базами данных;
–основы сетевого взаимодействия в мобильных приложениях;
–подходы к обработке исключений в мобильных приложениях;
–методы обеспечения безопасности мобильных приложений и защиты пользовательских данных;
–типовые уязвимости мобильных приложений и способы их предотвращения;
–принципы отладки и тестирования мобильных приложений;
–методы перехвата системных вызовов (hooking) и анализа поведения приложений.
уметь:
–разрабатывать многопоточные мобильные приложения с учётом ограничений платформы;
–реализовывать взаимодействие между компонентами приложения и внешними сервисами;
–создавать приложения с сетевым взаимодействием и синхронизацией
данных;
–подключать и использовать сторонние библиотеки, в том числе нативные
(NDK);
–применять средства отладки, логирования, профилирования и устранения утечек памяти.
владеть:
–инструментами разработки и отладки мобильных приложений;
–современными средствами анализа и тестирования мобильного ПО;
130
