Software development for mobile devices, Assignments of Software Development

Tasks to prepare students for the development of applications on the android platform. This document includes about five dozen tasks that will help you move from an ignorant person to the level of a beginner in programming the Android platform node.

Typology: Assignments

2019/2020

Uploaded on 11/16/2022

niboyo
niboyo 🇧🇶

1 document

1 / 117

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Санкт-Петербургский государственный политехнический университет»
(ФГБОУ ВПО «СПбГПУ»)
Университетский политехнический колледж
Практическая работа №*1
по дисциплине «Разработка программного обеспечения для мобильных
устройств»
Тема: «Структура Android-приложения. Знакомство с понятиями «активность»,
«разметка», «ресурсы», «эмулятор». Создания первого Android-приложения.»
Инструктаж по проведению практической работы.
Выполнение практической работы: оказание оперативной помощи в процессе
выполнения заданий практической работы, наблюдения, контроль выполнения студентами
практической работы.
* 1. Проект Разработка первого Android-приложения
Цель работы:
Знакомство с Android Studio – средой быстрой разработки Android-приложений
Знакомство с понятиями: ресурсы, разметка, активность, эмулятор, виртуальное
устройство
Привязка разметки к активности
Написание класса, соответствующего активности
Создание программного объекта, соответствующего элементу разметки
Написание простейшего обработчика событий
Привязка обработчика событий к элементу управления в коде
Задание:
Внешний вид активности
при запуске после нажатия на кнопки
***
Btn3
***
Btn1
Btn1
Btn2
Btn3
Btn4
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Partial preview of the text

Download Software development for mobile devices and more Assignments Software Development in PDF only on Docsity!

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Санкт-Петербургский государственный политехнический университет» (ФГБОУ ВПО «СПбГПУ») Университетский политехнический колледж Практическая работа № 1

по дисциплине «Разработка программного обеспечения для мобильных

устройств»

Тема: « Структура Android-приложения. Знакомство с понятиями «активность», «разметка», «ресурсы», «эмулятор». Создания первого Android-приложения. » Инструктаж по проведению практической работы. Выполнение практической работы : оказание оперативной помощи в процессе выполнения заданий практической работы, наблюдения, контроль выполнения студентами практической работы.

* Проект 1. Разработка первого Android-приложения

Цель работы:

 Знакомство с Android Studio – средой быстрой разработки Android-приложений  Знакомство с понятиями: ресурсы, разметка, активность, эмулятор, виртуальное устройство  Привязка разметки к активности  Написание класса, соответствующего активности  Создание программного объекта, соответствующего элементу разметки  Написание простейшего обработчика событий  Привязка обработчика событий к элементу управления в коде

Задание:

Внешний вид активности при запуске после нажатия на кнопки


Btn 3


Btn1 Btn Btn 2 Btn 3 Btn 4**

По нажатию на любую кнопку текст на этой кнопке должен поменяться на «***». Использовать один обработчик события. Привязка обработчика событий к элементу управления должна осуществляться в коде, а не в разметке. Для надписей на кнопках использовать ссылки на строковые ресурсы.

Указания к выполнению задания:

Запуск Android Studio производим с установками, для которых имеется достаточное количество ресурсов на компьютерах вычислительного центра Радиополитехникума (2016г.). Начинаем запуск щелчком по соответствующему пункту меню. После этого мы увидим следующее окно: Щелкнем по опции Start a new Android Studio project (начать новый проект).

Выбираем SDK с учетом ресурсов большинства компьютеров ВЦ. SDK (от англ. software development kit ) — комплект средств разработки, который позволяет специалистам по программному обеспечению создавать приложения… Поставщики SDK иногда подменяют слово «software» в словосочетании «software development kit» на более точное слово. Например, … Oracle называет свой инструментарий для разработки Java Development Kit ( JDK ). https://ru.wikipedia.org/wiki/SDK Выбираем шаблон приложения без активности – активность будем создавать сами. Ближайший аналог термина активность – форма, с формами Вы, вероятно, работали в Delphi или в Visual Studio.

Далее через некоторое время должно появиться такое окно: Требуется выбрать вкладку «Project» и из выпадающего списка – «Android», тогда мы увидим два основных элемента списка  app (там содержится все, что относится к нашему приложению)  Gradle Scripts (там содержится все, что относится к системе автоматической сборки) Если мы раскроем списки, то увидим следующее:

Здесь указаны 2 строки из 5-ти, остальные допишите сами. Имена строк должны удовлетворять требованиям для имен переменных – они состоят из латинских букв, цифр и нижних подчеркиваний, начинаются не с цифры. Содержимое строк может быть почти любым. Теперь откроем файл colors.xml с ресурсами-цветами.

В файле находятся 3 стандартных цвета, добавим еще несколько цветов для фона самой активности (формы), текста и фона кнопок. Теги со значениями цветов в формате RGB также, как и строки, находятся внутри тега . В принципе, можно было бы разместить и цвета, и строки в одном файле, синтаксической ошибки это бы не вызвало, но так не принято делать из соображений удобства, принято группировать ресурсы разных видов по разным файлам. Создадим новый ресурс цвета, RGB-код цвета укажем пока любым: Слева от тега появится квадратик с образцом цвета. Щелкнув по этому квадратику, мы попадаем в палитру цветов, в которой мы можем выбрать желаемый цвет.

Укажите маленькими латинскими буквами имя файла и нажмите OK. Файл dimens.xml создался и открылся, в нем уже находятся открывающий и закрывающий теги . Поместим в этот файл числовые константы – ресурсы:

Про **_dp_** и **_sp_** : Для указания ширины, высоты и отступов элементов разметки используются различные единицы измерения (ЕИ): **dp** или **dip** - Density-independent Pixels. Абстрактная ЕИ, позволяющая приложениям выглядеть одинаково на различных экранах и разрешениях. **sp** - Scale-independent Pixels. То же, что и dp, только используется для размеров шрифта в View элементах **pt** - 1/72 дюйма, определяется по физическому размеру экрана. Эта ЕИ из типографии. **px** – пиксел, не рекомендуется использовать т.к. на разных экранах приложение будет выглядеть по-разному. http://startandroid.ru/ru/11-pamjatka/40-edinitsy-izmerenija-chem- otlichaetsja-dp-dip-ot-px-screen-density.html Теперь давайте сконструируем саму активность (форму). Xml- файл с разметкой для активности должен находиться в папке res/layout. У нас пока нет папки layout (переводится как расположение). Один из способов создания этой папки и находящегося в нем xml-файла разметки: подведите курсор мыши к папке res, нажмите правую клавишу и из контекстного меню выберите указанные опции:

Здесь мы видим, что в папке res создалась подпапка layout , можно ее раскрыть, щелкнув по значку треугольника слева, и увидеть содержимое – файл разметки xml. Справа появится макет (это пока еще не эмулятор) мобильного устройства и откроется вкладка Design со списком компонентов/элементов управления, примерно как в Delphi или Visual Studio при работе с формой. Элементы управления можно помещать на макет, но мы откроем вкладку Text и будем создавать разметку с помощью xml-тегов. Выберем вкладку Text и увидим следующее окно: Здесь мы видим корневой и пока единственный элемент-тег LinearLayout. Это тег- контейнер, все помещенные внутрь него элементы будут располагаться друг за другом по порядку в зависимости от ориентации (значения параметра тега orientation ). У всех элементов разметки есть обязательные параметры layout_width и layout_height – ширина и высота, в данном случае значение обоих параметров – « match_parent » (соответствие родительскому элементу), это значит, что данная активность будет занимать все окно.

Для того, чтобы при наших настройках лучше отображался макет, в выпадающем списке, выделенном красным прямоугольником, вместо версии «23» выберите версию «19» или «21». Давайте попробуем покрасить активность в какой-либо цвет, выбранный из ресурса цветов. Для этого укажем значение параметра « background » тега « LinearLayout ». Android Studio опять проявляет свою дружественную природу – стоит набрать первую букву в названии параметра, как тут же появляется подсказка: Далее появляется подсказка для выбора значения параметра, @ - это признак ссылки на какой-либо ресурс, выберем @color – это ссылка на ресурс цвета, хранящийся в теге . !!!Обратите внимание, что color – это название именно тега, а не файла.

#f2cdda Можно было бы указать цвет явно: android:background="#f2cdda" но в больших приложениях это неудобно и считается не очень хорошим тоном. Вспомните, например, почему в любом языке программирования рекомендуется использовать именованные константы вместо числовых. Поместим теперь на активность пару кнопок, указав для них текст на кнопке, внешние и внутренние отступы, цвет текста и фона и размер текста (делаем ссылки на строковые, числовые и цветовые ресурсы). Укажем ширину кнопок « match_parent » - по ширине кнопке займут все окно, а высоту кнопок – « wrap_content » - высота будет подбираться автоматически под размер содержимого. В Delphi или Visual Studio « wrap_content » соответствует « AutoSize ». Параметр android:textAllCaps="false" используется для того, чтобы не все буквы на кнопках были заглавными. Конечно, для того, чтобы сделать одинаковые по внешнему виду кнопки, лучше использовать не большое количество одинаковых параметров, а стили, но со стилями мы познакомимся позже. Параметр id используется для однозначной идентификации элемента для последующего обращения к этому элементу в коде программы. Все id в пределах одного файла разметки должны быть уникальными. Добавьте на активность еще пару кнопок самостоятельно. Теперь перейдем к написанию кода. Программировать мы будем на языке Java (не путать с JavaScript). Синтаксис языка Java в первом приближении похож на синтаксис всех С-подобных языков. Каждой активности приложения соответствует свой класс. Давайте создадим класс, соответствующий нашей единственной активности. Раскройте список java , подведите курсор к первому элементу списка, нажмите правую клавишу мыши и из контекстного меню выберите указанные опции:

Вы увидите следующее окно: Укажите имя класса (в Java принято имена классов начинать с заглавной буквы). Далее откроется окно с заготовкой для нашего класса: Любой класс, соответствующий активности, должен быть наследником от базового класса-активности. Есть несколько таких базовых классов, выберем AppCompatActivity и сделаем наш класс Main наследником от него. В Java ключевое слово extends означает, что класс (в нашем случае - Main ) является расширением, или наследником от другого класса (в нашем случае от AppCompatActivity ). При написании кода тоже постоянно появляются подсказки, стоит только набрать одну или несколько начальных букв.

Метод setContentView создает из тегов-элементов разметки дерево программных объектов. Далее нам надо представить нашу активность операционной системе – это делается в манифесте. Пока мы этого не сделаем, у значка-приложения будет находиться красный крестик и мы не сможем это приложение запустить. В файле манифеста уже есть заготовка: Добавляем туда сведения о нашей активности: Далее надо указать операционной системе, что эта активность – главная, т.е. при запуске приложения именно она должна появиться на экране (по аналогии с главной формой для приложения в Delphi или Visual Studio). Это делается следующим образом:

Теперь крестик исчез, и мы можем запустить наше приложение на эмуляторе (а у кого есть реальное устройство, можно запустить и на нем), хотя в нашем приложении пока нет обработчиков событий и оно не функционально. Можно создать несколько виртуальных устройств – эмуляторов, а потом выбрать одно из них для запуска приложения. Мы создадим одно устройство. Устройства можно создавать разными способами, используем следующий способ: Выберем опцию меню AVD Manager (Android Virtual Device – виртуальное устройство Android). Если у нас пока еще нет созданных виртуальных устройств, мы увидим такое окно, в котором следует нажать кнопку « Create Virtual Device » (создать виртуальное устройство).