Андрей Лимасов
2dadf00ace
Some checks failed
Merge core/template-android-project to this repo / merge-if-needed (push) Failing after 10m57s
36 lines
3.3 KiB
Markdown
36 lines
3.3 KiB
Markdown
[![Android Studio version](https://img.shields.io/endpoint?url=https%3A%2F%2Fsicampus.ru%2Fgitea%2Fcore%2Fdocs%2Fraw%2Fbranch%2Fmain%2Fandroid-studio-label.json)](https://sicampus.ru/gitea/core/docs/src/branch/main/how-upload-project.md)
|
||
|
||
# Практическая работа. Tricky Hexahedron
|
||
|
||
В данном практическом задании предлагается дописать существующий проект-заготовку Android приложения для вычисления суммы длин сторон, длины диагонали, площади полной поверхности и объема прямоугольного параллелепипеда.
|
||
|
||
Измените код существующих классов и интерфейсов, дополните разметку, ресурсы и манифест, чтобы приложение отвечало следущим требованиям:
|
||
|
||
1. Интерфейс приложения должен содержать элементы, перечисленные в табл. 1. Все указанные элементы интерфейса должны быть видны полностью даже при открытой виртуальной клавиатуре.
|
||
2. Элементы *EditText* должны поддерживать ввод чисел с плавающей точкой. Элемент *EditText* с большим номером по порядку располагается ниже *EditText* с меньшим номером.
|
||
3. Ограничения на вводимые значения указаны в табл. 1. Точность проверки: 1e-5.
|
||
4. Элемент `@id/spinner` позволяет выбрать одну из четырех опций для проведения расчетов в порядке, определенном в данном задании.
|
||
5. При нажатии на элемент `@id/calculate` в текстовое поле `@id/solution` устанавливается текст с результатом проведенных расчетов в соответствии с выбранной в `@id/spinner` опцией. Гарантируется, что в момент нажатия все три *EditText* имеют непустой текст.
|
||
6. При нажатии на *TextView* с `@id/solution` текущее значение копируется в буфер обмена.
|
||
|
||
| № | View type | id | Максимальное значение |
|
||
| :-: | :------: | -------------- | --------------------- |
|
||
| 0 | *TextView* | `side_a_label` | |
|
||
| 1 | *EditText* | `side_a` | $10^{12}$ |
|
||
| 2 | *TextView* | `side_b_label` | |
|
||
| 3 | *EditText* | `side_b` | $10^{12}$ |
|
||
| 4 | *TextView* | `side_c_label` | |
|
||
| 5 | *EditText* | `side_c` | $10^{12}$ |
|
||
| 6 | *Spinner* | `spinner` | |
|
||
| 7 | *Button* | `calculate` | |
|
||
| 8 | *TextView* | `solution` | |
|
||
|
||
*Таблица 1. Элементы пользовательского интерфейса*
|
||
|
||
| № | Ресурс | Допустимое значение |
|
||
| :-: | ------ | ------------------- |
|
||
| 1 | `@string/side_a_text` | a |
|
||
| 2 | `@string/side_b_text` | b |
|
||
| 3 | `@string/side_c_text` | c |
|
||
|
||
*Таблица 2. strings.xml* |