ВУЗ: Не указан

Категория: Методичка

Дисциплина: Программирование

Добавлен: 21.10.2018

Просмотров: 359

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

5


ЛАБОРАТОРНАЯ РАБОТА №1


ПРОГРАММИРОВАНИЕ МЕНЮ И ИНТЕРФЕЙСОВ ПОЛЬЗОВАТЕЛЯ


Цель работы: изучить и освоить работу с интерфейсами пользователя и меню.



Порядок выполнения работы


При домашней подготовке самостоятельно на основе материалов лекций, справочной системы соответствующих средств разработки и отладки, а также рекомендуемой литературы изучить:

  1. Создание меню с помощью средств разработки Eclipse;

  2. Обработку событий меню;

  3. Процедуру вывода сообщений в окно мобильного устройства;

  4. Программное создание и обработку событий меню;

  5. Работу с элементами управления (кнопками, текстовыми полями);

  6. Программное и динамическое описание обработчиков нажатий кнопок;

  7. Настройку внешнего вида элементов управления.



Задание


Разработать Android-приложение, которое содержит меню, поле ввода (EditText), несколько текстовых полей (TextView) и несколько кнопок (Button).

В одном из текстовых полей вывести фамилию, имя студента, номер варианта и название группы студента.

По обработчику одной из кнопок меняется Layout формы на произвольный с обязательным наличием одной кнопки, по нажатию на которую Layout возвращается. По обработчику еще одной из кнопок форма переводится в графический режим, где выводится та же информация (фамилия, имя, группа, вариант). Для третьей кнопки написать объект-обработчик, который выводит в текстовое поле (TextView) содержимое поля ввода (EditText). Расположение и функциональность остальных кнопок определяется вариантом. Обработчики этих трех кнопок сделать: с помощью поля android:onClick, с помощью динамического создания экземпляра OnClickListener и с помощью подключения интерфейса OnClickListener и создания функции OnClick().

На этапе разработки приложения разместить меню с пунктами «Первый», «Второй», «Третий» и т.д. (количество пунктов меню и их функциональность определяется вариантом). По умолчанию (если не указано обратное) для пункта меню «Первый» создать обработчик с использованием поля android:onClick, для пункта меню «Второй» – с помощью объекта-обработчика, описывающего интерфейс MyMenuItemClickListener, для пункта меню «Третий» с использованием метода onOptionsItemSelected().

Первый пункт меню должен выдавать соответствующее Toast-сообщение, второй пункт меню – выводить текст в логе (Log). Третий пункт меню должен вывести диалог с информационным сообщение. Четвертый пункт меню - реализовывать функциональность, если это определено в таблице вариантов.



Содержание отчета


  1. Титульный лист.

  2. Исходный текст программы на языке java.

  3. Текст формы в формате xml

  4. Экранные формы работы программы на эмуляторе.

  5. Выводы


Контрольные вопросы, возможные темы дополнительных заданий.


  1. Создание Layout-ов с различными свойствами;

  2. Создание графических Layout-ов и рисование на них;

  3. Динамическая генерация кнопок и их обработчиков;

  4. Динамическая генерация меню и их обработчиков;

  5. Работа с контекстными меню;

  6. Создание диалоговых окон.




Литература


  1. Горнаков С. Программирование мобильных телефонов на Java2 Micro Edition.

  2. http://startandroid.ru/ru/uroki/vse-uroki-spiskom/24-urok-8-rabotaem-s-elementami-ekrana-iz-koda.html




Индивидуальные задания к лабораторной работе

А) Задание по внешнему виду формы:

Вариант

Количество кнопок и меню

Расположение кнопок

Количество пунктов меню

1

3 кнопки (50%, 25%, 25%)

Горизонтально

3

2

9 кнопок (одинаковых)

3 х 3

3

3

3 кнопки (50%, 25%, 25%)

Вертикально

3

4

8 кнопок (одинаковых)

3 х 3, центральной кнопки нет

3

5

2 кнопки (60%, 40%)

Горизонтально

3

6

3 кнопки (50%, 25%, 25%)

Вертикально

4

7

3 кнопки (макс, мин, мин)

Горизонтально

4

8

3 кнопки (макс, мин, мин)

Вертикально

4

9

9 кнопок (одинаковых, центральная кнопка вдвое шире, чем все остальные)

3 х 3

4

10

9 кнопок (одинаковых, центральная кнопка окружена отступом в 20 пикселей)

3 х 3

4

11

9 кнопок (одинаковых, все угловые кнопки вдвое шире, чем все остальные)

3 х 3

5

12

9 кнопок (верхний и нижний ряды вдвое уже, чем центральный)

3 х 3

5

13

9 кнопок (верхний и нижний ряды вдвое шире, чем центральный)

3 х 3

5

14

3 кнопки (25%, 50%, 25%)

Горизонтально

5

15

9 кнопок (одинаковых)

3 х 3

5

16

3 кнопки (25%, 50%, 25%)

Вертикально

3

17

8 кнопок (одинаковых)

3 х 3, центральной кнопки нет

3

18

2 кнопки (40%, 60%)

Горизонтально

3

19

2 кнопки (40%, 60%)

Вертикально

3

20

3 кнопки (мин, мин, макс)

Горизонтально

3

21

3 кнопки (мин, мин, макс)

Вертикально

4

22

9 кнопок (одинаковых, центральная кнопка вдвое шире, чем все остальные)

3 х 3

4

23

9 кнопок (одинаковых, центральная кнопка окружена отступом в 20 пикс.)

3 х 3

4

24

9 кнопок (одинаковых, все угловые кнопки вдвое шире, чем все остальные)

3 х 3

4

25

9 кнопок (верхний и нижний ряды вдвое уже, чем центральный)

3 х 3

4



Б) Задание по динамической настройке меню и кнопок

Вариант

Действия

1

Пункт меню «Второй» должен начинать работать только после нажания второй кнопки (использовать setOnMenuItemClickListener), пункт меню «Третий» - только после нажатия третьей кнопки (полностью динамически создавать новый объект OnMenuItemClickListener).

2

Третий пункт меню должен добавлять еще одну кнопку, которая имеет такую же ширину, как и соседняя с ней.

3

Третий пункт меню должен добавлять еще один пункт меню, который выводит сообщение в Toast.

4

Вторая кнопка должна добавлять еще один пункт меню, который выводит сообщение в лог.

5

Вторая кнопка добавляет дополнительно еще один пункт меню (максимально можно добавить 3 пункта).

6

Во время первого выбора третий пункт меню меняет надпись на первой кнопке, во время второго – на второй кнопке, во время третьего – на третьей кнопке.

7

Нажатие на вторую кнопку делает ее максимальной по размеру, а остальные – минимальными, нажатие на третью – ее максимальной по размеру, остальные – минимальными.

8

Вторая кнопка добавляет дополнительно еще одну кнопку, которая имеет такую же ширину, как и соседняя с ней.

9

Обработчик нажатия всех пунктов меню находится в OnMenuItemClickListener, номер выбранного пункта выводится в логе

10

Обработчик нажатия всех пунктов меню находится в OnMenuItemClickListener, номер выбранного пункта выводится в Toast.

11

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

12

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

13

Пункт меню «Второй» должен начинать работать только после нажания второй кнопки (использовать setOnMenuItemClickListener), пункт меню «Третий» - только после нажатия третьей кнопки (полностью динамически создавать новый объект OnMenuItemClickListener).

14

Третий пункт меню должен добавлять еще одну кнопку, которая имеет такую же ширину, как и соседняя с ней.

15

Третий пункт меню должен добавлять еще один пункт меню, который выводит сообщение в Toast.

16

Вторая кнопка должна добавлять еще один пункт меню, который выводит сообщение в лог.

17

Вторая кнопка добавляет дополнительно еще один пункт меню (максимально можно добавить 3 пункта).

18

Во время первого выбора третий пункт меню меняет надпись на первой кнопке, во время второго – на второй кнопке, во время третьего – на третьей кнопке.

19

Нажатие на вторую кнопку делает ее максимальной по размеру, а остальные – минимальными, нажатие на третью – ее максимальной по размеру, остальные – минимальными.

20

Вторая кнопка добавляет дополнительно еще одну кнопку, которая имеет такую же ширину, как и соседняя с ней.

21

Обработчик нажатия всех пунктов меню находится в OnMenuItemClickListener, номер выбранного пункта выводится в логе

22

Обработчик нажатия всех пунктов меню находится в OnMenuItemClickListener, номер выбранного пункта выводится в Toast.

23

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

24

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

25

По нажатию на вторую кнопку для всех пунктов меню, кроме первого, динамически устанавливается один и тот же Listener.