Главная страница

Модульное задание по ИСРП. Модульное задание 4. 1 1 Создание заготовки для приложения


Скачать 3.14 Mb.
Название1 1 Создание заготовки для приложения
АнкорМодульное задание по ИСРП
Дата28.11.2022
Размер3.14 Mb.
Формат файлаdocx
Имя файлаМодульное задание 4.docx
ТипЛабораторная работа
#817156

Модульное задание №3 посвящено разработке интерфейсов мобильных приложений. Работа содержит подробное описание построения гармоничного понятного пользовательского интерфейса для главной активности приложения и описание основных элементов интерфейса. Лабораторная работа поможет выбрать концепцию своего приложения и начать разработку его интерфейса.

Более подробную информацию о разработке интерфейсов мобильных приложений под Android можно узнать на сайте Design [AndroidDevelopers].

1 Создание прототипа интерфейса

Рассмотрим пример разработки интерфейса приложения, которое ищет в сети Интернет изображения по запросу пользователя, позволяет оценивать их, скачивать, и посещать интернет-страницы сайтов, на которых было найдено изображение.

1.1.1 Создание заготовки для приложения

Выглядеть главное окно будет примерно так:




Рис. 1.Интерфейс главной активности

На нём присутствуют поле ввода текста для запроса пользователя и кнопка, начинающая поиск изображений. Внизу экрана две кнопки: "like" и "dislike", с их помощью пользователь сможет оценить изображение. После того, как пользователь сделает оценку изображения, текущее изображение закрывается и загружается следующее.

Итак, начнём с создания нового проекта. Назовём его "RatingImages" ("Рейтинг изображений").

На данном этапе изучения программирования под Android не обязательно менять иконку запуска, но эта лабораторная работа направлена на разработку дизайна интерфейса, и потому, приступим.

Создайте иконку на свой вкус.




Рис. 2.Создание иконки

После создания проекта откройте activity_main.xml из каталога res/layout/.

Когда вы откроете файл activity_main.xml, вы увидите графический редактор макета. Благодаря этому редактору создание интерфейсов стало ещё интереснее, поскольку добавить элемент на форму можно при помощи перетаскивания мышью, к тому же, благодаря графическому редактору, не обязательно запускать эмулятор, чтобы увидеть результат своих трудов.

Теперь щелкните по вкладке activity_main.xml в нижней части экрана. Открылся XML-редактор кода. Этот способ редактирования стандартный, но все изменения, вносимые в этот документ, можно так же ощутить визуально, перейдя на графический редактор.

Вернёмся на вкладку с графическим редактором. Во-первых, подготовим документ к началу работы, для этого удалите .

Результат выглядит так:




увеличить изображение
Рис. 3.Проект, готовый к началу разработки

На рабочей области экрана остался один элемент. Это макет . В нём позиция дочерних элементов может быть описана по отношению друг к другу или к родителю. Подробнее о макетах можно узнать здесь.

Два атрибута, ширина и высота (android:layout_width и android:layout_height), требуются для всех элементов для того, чтобы указать их размер.

Так как  - это корень в макете, то нужно, чтобы он заполнял всю область экрана. Это достигается при помощи установки параметра "match_parent" для ширины и высоты. Это значение указывает, что ширина и высота элемента будет равна ширине и высоте родителя.




Рис. 4.Свойства элемента

Как установить это значение? Будем разбираться.

Однократным щелчком левой кнопкой мыши по надписи "Width" активируйте строку с параметрами ширины:




Рис.5. Свойства элемента, выбран атрибут android:layout_width

Щелчком левой кнопки мыши по области ввода вызовите диалоговое окно, и двойным щелчком сделайте выбор параметра:




Рис. 6.Свойства элемента, выбран параметр "match_parent"

Или щелчком правой кнопки мыши по  в Outline:




Рис.7.Контекстное меню элемента

При выполнении первого способа вы увидели еще два возможных параметра: "fill_parent" и "wrap_content".

На самом деле, match_parent = fill_parent, но "fill_parent" считается устаревшим, и к использованию в новых проектах предлагается "match_parent".

Параметр "wrap_content" указывает, что представление будет увеличиваться при необходимости, чтобы поддерживать соответствие содержанию экрана.

Добавление текстового поля

Для начала добавьте элемент  с горизонтальной ориентацией в , и укажите для ширины и высоты параметр "wrap_content". Теперь, для создания пользовательского редактируемого текстового поля, добавьте элемент  с параметром "wrap_content" для ширины и высоты в .

Сейчас должно получиться примерно следующее:




Рис. 8.Добавление текстового поля

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

Теперь переходим к настройке добавленных нами элементов.

Для многих элементов нужно назначать id, он обеспечивает уникальный идентификатор, который можно использовать как ссылку на объект из кода вашего приложения для управления им.

Откроем редактор кода XML-файла и обратим внимание на элемент

:


android:id="@+id/editText1"

android:layout_width="wrap_content"

android:layout_height="wrap_content">





Строка  появляется добавлением элемента requestFocus (папка Advanced), и позволяет установить фокус на нужном компоненте. Важно использовать этот элемент, когда у вас имеется, к примеру, три текстовых поля, и нужно, чтобы фокус был на втором из них.

При указании id, знак (@) требуется в том случае, если вы имеете в виду любой ресурс объекта из XML-файла. За ним следуют тип ресурса (в данном случае ID), косая черта (слеш) и имя ресурса (editText1).

Знак плюс (+) перед типом ресурсов необходим только тогда, когда вы впервые определяете идентификатор ресурса.

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

Зададим id для текстового поля. Для этого прямо в коде строку android:id="@+id/editText1" заменяем на android:id="@+id/edit_message", жмём CTRL+S и открываем графический редактор. Если всё хорошо, то в свойствах текстового поля в графе id будет следующее:




Рис. 9.Идентификатор текстового поля

Добавим в код ещё две строки:

android:ems="10" - задает соответствия для симметричного отображения шрифтов,

android:hint="@string/edit_message" - содержание тестового поля "по умолчанию", т.е. пока пользователь не начал вводить в поле текст. Вместо того, чтобы использовать просто слово (например android:hint="message"), что крайне не удобно при изменении основного языка приложения, используется ссылка на значение, хранящееся в файле strings.xml. Поскольку это относится к конкретному ресурсу (а не только к id), знак плюс не нужен.

Однако, мы ещё не определили строку ресурсов файле strings.xml, и потому вы получите следующее:




Рис. 10.Предупреждение: не найден ресурс, на который прописана ссылка

Для того, чтобы ссылка на ресурс начала работать, нужно этот ресурс создать.

Откройте файл res/values/strings.xml. Очевидно, что его тоже можно редактировать двумя способами: графически и вручную.

Выбирайте тот способ, который больше по душе.




Рис. 11.Редактирование файла ресурсов графическим способом; добавление нового ресурса




Рис.12.Редактирование файла ресурсов графическим способом; выбор типа ресурса, выбран тип String

Заполняем поля "Имя" и "Значение":




Рис. 13.Редактирование файла ресурсов графическим способом

Сохраняем и любуемся результатом:




Рис. 14.Отображение текста "По умолчанию" в поле ввода

Подробнее о ресурсах - здесь.

Аналогично создадим id для 

android:id="@+id/linear1"

Сохраните изменения.

 Добавление кнопки

Теперь добавьте 


написать администратору сайта