2
0
tricky-hexahedron/README.md
Andrey Skripkin 65800dbd23
All checks were successful
Merge core/template-android-project to this repo / merge-if-needed (push) Successful in 15s
Update README.md
2024-06-04 09:55:19 +00:00

36 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[![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 | *View* | `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*