48 lines
3.9 KiB
Markdown
48 lines
3.9 KiB
Markdown
# Практическая работа. BroadcastReceiver
|
||
|
||
В данном практическом задании предлагается дополнить существующий проект-заготовку Android приложения.
|
||
|
||
Советуем сначала склонировать шаблон проекта и открыть его в Android Studio или IntelliJ IDEA, так как этот процесс может занимать продолжительное время.
|
||
|
||
Допишите код проекта, чтобы приложение отвечало следующим требованиям:
|
||
|
||
1. Нестатический метод `makeBroadcastReceiver()`, определённый в классе *MainActivity*, возвращает объект *BroadcastReceiver*
|
||
2. Объект *BroadcastReceiver*, возвращаемый методом `makeBroadcastReceiver()`, способен обрабатывать широковещательные намерения `android.intent.action.*` (полный список представлен [ниже](#actions))
|
||
3. При запуске приложения в *TextView* с `id/status_text` может быть установлен произвольный текст. При получении широковещательного сообщения в *TextView* устанавливается текст, соответствующий типу *action* (как на [ниже](#actions)).
|
||
Например, при получении намерения `Intent.ACTION_ASSIST` в *TextView* должен быть установлен текст «`ACTION_ASSIST`» (без кавычек).
|
||
|
||
| № | View type | id |
|
||
| - | :-------: | -- |
|
||
| 0 | *TextView* | `status_text` |
|
||
|
||
<a id="table1">*Таблица 1. Элементы пользовательского интерфейса*</a>
|
||
|
||
Рекомендуется использовать Android Studio Dolphin 2021.3.1. В проекте gradle version 7.5, gradle plugin version 7.3.0.
|
||
|
||
<a id="actions">**Константы Intent.\***</a>
|
||
|
||
1. ACTION\_AIRPLANE\_MODE\_CHANGED
|
||
2. ACTION\_APPLICATION\_RESTRICTIONS\_CHANGED
|
||
3. ACTION\_APPLICATION\_LOCALE\_CHANGED
|
||
4. ACTION\_ASSIST
|
||
5. ACTION\_BATTERY\_CHANGED
|
||
6. ACTION\_BATTERY\_LOW
|
||
7. ACTION\_BATTERY\_OKAY
|
||
8. ACTION\_CALL
|
||
9. ACTION\_DATE\_CHANGED
|
||
10. ACTION\_DEFAULT
|
||
11. ACTION\_HEADSET\_PLUG
|
||
12. ACTION\_LOCALE\_CHANGED
|
||
13. ACTION\_TIME\_TICK
|
||
|
||
Сдать в систему тестирования необходимо zip архив, в корневом каталоге которого располагается дополненный проект Android Studio/IntelliJ IDEA. После загрузки zip архива приложение будет запущено в системе автоматического тестирования для проверки на соответствие техническому заданию.
|
||
|
||
При сборке проекта вcе изменения в файле build.gradle будут проигнорированы – будут использованы зависимости только из шаблона-заготовки; не изменяйте пакет приложения.
|
||
|
||
Тестирование одной посылки может длиться до 3-x минут, после завершения тестирования будет доступна информация об общем числе тестов и числе пройденных тестов. Количество посылок в систему не ограничено. Штраф за повторные попытки не начисляется.
|
||
|
||
| № | Тест | Балл | Проверка |
|
||
| - | :-------: | :--: | -- |
|
||
| 1–13 | `Intent.ACTION_*` | 13 | Обработка широковещательных намерений |
|
||
|
||
<a id="table2">*Таблица 2. Критерии оценивания и тесты*</a> |