Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Электронный учебно-методический комплекс по учебной дисциплине «Разработка программного обеспечения для мобильных платформ» для специальностей 6-05-0612-01 «Программная инженерия», 6-05-0611-01 «Информационные системы и технологии»

.pdf
Скачиваний:
0
Добавлен:
28.12.2025
Размер:
4.54 Mб
Скачать

Белорусский национальный технический университет

Международный институт дистанционного образования Кафедра «Информационные системы и технологии»

ЭЛЕКТРОННЫЙ УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС

ПО УЧЕБНОЙ ДИСЦИПЛИНЕ

РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЧЕНИЯ ДЛЯ МОБИЛЬНЫХ ПЛАТФОРМ

для специальностей:

6-05-0612-01 «Программная инженерия» 6-05-0611-01 «Информационные системы и технологии»

Составитель:

Бумай Андрей Юрьевич, старший преподаватель кафедры

Информационные системы и технологии

МИНСК

БНТУ

2025

1

Разработка

программного обеспечения для мобильных платформ

2

Перечень материалов

Конспект лекций, материалы для лабораторных занятий и контрольных работ, вспомогательный раздел.

Пояснительная записка

Цели данного ЭУМК – повышение эффективности организации учебного процесса с использованием дистанционных технологий; предоставление возможности студентам заниматься самообразованием, пользуясь комплектом учебно-методических материалов по дисциплине «Разработка программного обеспечения для мобильных платформ».

ЭУМК содержит четыре раздела: теоретический, практический, контроля знаний и вспомогательный.

Теоретический раздел представлен конспектом лекций. Лекционный материал подготовлен в соответствии с основными разделами и темами учебной программы.

Практический раздел представлен лабораторными работами, которые помогут освоить теоретический материал дисциплины.

Раздел контроля знаний включает контрольную работу, содержащую индивидуальные варианты заданий, требования к оформлению контрольной работы, вопросы к экзамену. Вспомогательный раздел представлен учебной программой. Данное ЭУМК в первую очередь разработано для студентов МИДО дистанционной (заочной) формы получения образования, однако ЭУМК также может быть полезным студентам дневной формы получения образования и всем, кто заинтересован в освоении дисциплины «Системное прогаммирование».

3

СОДЕРЖАНИЕ

 

Перечень материалов ...................................................................................

3

Пояснительная записка................................................................................

3

СОДЕРЖАНИЕ ............................................................................................

4

РАЗДЕЛ 1 ТЕОРЕТИЧЕСКИЙ ...............................................................

8

ВВЕДЕНИЕ [1] .............................................................................................

8

1.1 Создание первого Android-приложения [1].........................................

9

1.1.1 Компоненты приложения [1] ...........................................................

10

1.1.2 Структура проекта [1].......................................................................

13

1.1.3 Разработка интерфейса приложения [1] .........................................

17

1.1.4 Запуск приложения [1]......................................................................

21

1.2Архитектура Android и процесс компиляции мобильного

приложения [1] ...........................................................................................

23

1.2.1 Архитектура операционной системы Android [1]..........................

23

1.2.2 Процесс сборки Android-приложения [1] .......................................

26

1.3

Организация пользовательского интерфейса [1] ..............................

28

1.3.1 Разработка Layout [1] ........................................................................

28

1.3.2 Разработка интерфейса в режиме дизайнера [1] ............................

29

1.4

Установка размеров [1]........................................................................

30

1.5

Виды Layout [1] ....................................................................................

34

1.5.1 LinearLayout [1] .................................................................................

34

1.5.2 RelativeLayout [1]...............................................................................

35

1.5.3 TableLayout [1]...................................................................................

39

1.5.4 FrameLayout [1]..................................................................................

40

1.5.5 GridLayout [1].....................................................................................

42

1.5.6 ConstraintLayout [1] ...........................................................................

44

1.5.7 ScrollView [1] .....................................................................................

54

1.6

Обращение к View [1] ..........................................................................

54

4

1.7 Ресурсы [1] ............................................................................................

55

1.7.1 Группирование ресурсов [1] ............................................................

55

1.7.2

Предоставление альтернативных ресурсов и квалификаторы

конфигурации [1]........................................................................................

57

1.7.3 Строковые ресурсы [1] .....................................................................

58

1.7.4 Ресурсы plurals [1] .............................................................................

58

1.7.5 Ресурсы dimension [1] .......................................................................

59

1.7.6 Ресурсы color [1]................................................................................

60

1.7.7 Доступ к ресурсам [1] .......................................................................

60

1.7.8 Добавление layout-файла для смены ориентации экрана [1].......

61

1.8 Обработка нажатий View [1]...............................................................

64

1.9 Вывод Log-сообщений [1] ...................................................................

70

1.10

Всплывающие окна Toast [1] ............................................................

73

1.11

Элементы управления [1] ..................................................................

74

1.11.1 TextView [1] .....................................................................................

74

1.11.2 EditText [1] .......................................................................................

75

1.11.3 Button [1] ..........................................................................................

76

1.11.4 Checkboxes [1]..................................................................................

76

1.11.5 RadioButton [1].................................................................................

77

1.11.6 ToggleButton [1] ...............................................................................

77

1.12

Понятие активности (Activity) [1] ....................................................

78

1.13

Жизненный цикл Activity [1] ............................................................

79

1.13.1 Стек Activity [1] ...............................................................................

79

1.13.2 Состояния Activity [1].....................................................................

80

1.13.3 Отслеживание изменения состояний Activity [1] ........................

81

1.13.4 Сохранение состояния Activity [1] ................................................

83

1.14

Добавление Activity [1].......................................................................

86

1.15

Понятие Intent [1] ...............................................................................

88

1.15.1 Передача и получение значений из Activity [1] ...........................

89

5

1.16

Запуск Activity для получения результата [1] .................................

 

89

1.16.1 Использование Intent [1].................................................................

 

 

89

1.17

Типы объектов Intent [1]....................................................................

 

 

90

1.17.1 Задание неявного объекта Intent [1] ..............................................

 

 

90

1.17.2 Определение объекта Intent [1]......................................................

 

 

91

1.18

Настройка фильтров для объекта Intent [1]

.....................................

 

92

1.19

Разрешение объектов Intent [1] .........................................................

 

 

93

1.19.1 Тестирование действия [1] .............................................................

 

 

94

1.19.2 Тестирование категории [1] ...........................................................

 

 

94

1.19.3 Тестирование данных [1]................................................................

 

 

95

1.20

Принцип работы фильтров [1] ..........................................................

 

 

96

1.21

Меню [1]..............................................................................................

 

 

96

1.21.1 Определение меню в файле XML [1] ............................................

 

 

97

1.21.2 Вывод меню на экран [1]..............................................................

 

 

100

1.21.3 Обработка нажатий [1] .................................................................

 

 

100

1.21.4 Программное создание меню и изменение пунктов меню во время

выполнения приложения [1] ...................................................................

 

 

102

1.21.5 Создание контекстного меню [1].................................................

 

 

103

1.21.6 Создание всплывающего меню [1]..............................................

 

 

107

1.21.7 Создание приложения Блокнот [1]..............................................

 

 

108

РАЗДЕЛ 2 ПРАКТИЧЕСКИЙ .............................................................

 

 

112

ЛАБОРАТОРНЫЙ ПРАКТИКУМ ПО КУРСУ РАЗРАБОТКА

ПРОГРАММОНОГО ОБЕСПЕЧЕНИЯ

ДЛЯ

МОБИЛЬНЫХ

ПЛАТФОРМ .............................................................................................

 

 

112

Лабораторная работа №1. Создание первого Android-приложения ...

112

Лабораторная работа №2. Изучение структуры Android-проекта ......

112

Лабораторная работа №3. Работа с макетами интерфейса ..................

113

Лабораторная работа №4. Обработка пользовательского ввода.........

114

Лабораторная работа №5. Работа с ресурсами и локализацией ..........

114

6

Лабораторная работа №6. Создание собственного стиля и тем..........

115

Лабораторная работа №7. Работа с несколькими активностями ........

115

Лабораторная работа №8. Сборка и запуск приложения. Финализация

....................................................................................................................

116

РАЗДЕЛ 3 КОНТРОЛЬ ЗНАНИЙ ......................................................

118

ОБЩИЕ ТРЕБОВАНИЯ К КОНТРОЛЬНОЙ РАБОТЕ .......................

118

ВАРИАНТЫ ЗАДАНИЯ НА КОНТРОЛЬНУЮ РАБОТУ ..................

124

ВОПРОСЫ ДЛЯ КОНТРОЛЯ ЗНАНИЙ ...............................................

126

РАЗДЕЛ 4 ВСПОМОГАТЕЛЬНЫЙ...................................................

129

УЧЕБНАЯ ПРОГРАММА 6-05-0611-01................................................

129

УЧЕБНАЯ ПРОГРАММА 6-05-0612-01................................................

135

ОБЩИЕ ТРЕБОВАНИЯ К КУРСОВОМУ ПРОЕКТУ ........................

141

ПРИЛОЖЕНИЕ А Титульный лист (пример) .......................................

146

ПРИЛОЖЕНИЕ Б Лист-задания (пример) ............................................

147

ПРИЛОЖЕНИЕ В Примерный образец структуры и содержания

пояснительной записки к курсовому проекту.......................................

149

СПИСОК ЛИТЕРАТУРНЫХ ИСТОЧНИКОВ .....................................

150

7

РАЗДЕЛ 1 ТЕОРЕТИЧЕСКИЙ

ВВЕДЕНИЕ [1]

Android – операционная система для смартфонов, планшетов, электронных книг, цифровых проигрывателей, наручных часов, фитнесбраслетов, игровых приставок, ноутбуков, очков Google Glass, телевизоров и других устройств [1]. Она основана на ядре Linux и собственной реализации виртуальной машины Java от Google. Изначально разрабатывалась компанией Android Inc. (теперь Google).

Каждая версия системы начиная с версии 1.5 получает собственное кодовое имя на тему сладостей. Кодовые имена присваиваются в порядке латинского алфавита (рисунок) [1]. На настоящий момент выпущено 15 версий системы. Исходя из статистики на май 2019 г. [1].

Как показано на рисунке, самой распространенной версией остается Android 6.0, она установлена на 16,9% всех устройств. Следом за ней расположилась система Android 8.1 с 15,4%.

Версии операционной системы Android

8

Для разработки приложений под операционную систему Android нужно скачать и установить SDK. Сейчас существует несколько сред разработки:

NetBeans;

Eclipse;

Intellij DEA;

Android Studio.

Android Studio ориентирована именно под ОС Android, а также не требует установки дополнительных плагинов. Примеры выполнения заданий в данном пособии будут рассматриваться на Android Studio.

Рассмотрим языки разработки нативных приложений.

Java – официальный язык программирования, поддерживаемый средой разработки Android Studio. На Java ссылается большинство официальной документации Google.

Kotlin – язык был официально представлен в мае 2017 г. на Google I/O и позиционируется Google как второй официальный язык программирования под Android после Java. Kotlin совместим с Java и не вызывает снижения производительности и увеличения размера файлов. Отличие от Java в том, что он требует меньше служебного кода, поэтому более легкий для чтения.

Более низкоуровневые языки поддерживаются Android Studio с

использованием Java NDK (Native Development Kit). Это позволяет писать нативные приложения, что может пригодиться для создания игр или других ресурсоемких программ.

Примеры, приведенные в данном учебно-методическом пособии, написаны на языке Java.

1.1 Создание первого Android-приложения [1]

Для создания нового проекта в Android Studio (рис. 1.1) необходимо выбрать шабон приложения.

9

Рис. 1.1. Окноопределенияшаблона

Затем при задании параметра Package name (рис. 1.2) необходимо использовать обратное доменное имя, например by.bstu.fit.фио.

Следующий шаг – установка версии API (рис. 1.2). При выборе более нового API предоставляется небольшой процент поддерживаемых устройств.

1.1.1 Компоненты приложения [1]

Компоненты приложения являются блоками, из которых состоит приложение. Каждый компонент представляет собой отдельную точку, через которую система может войти в приложение. Не все компоненты являются точками входа для пользователя. Однако каждый компонент

– это самостоятельная структурная единица, которая определяет работу приложения в целом. Компоненты приложения можно отнести к одному из пяти типов.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]