2
0

Merge with old project
All checks were successful
Merge core/template-android-project to this repo / merge-if-needed (push) Successful in 11s

This commit is contained in:
tarquinn18 2024-05-24 15:20:19 +03:00
parent 3e6fe310e0
commit 83b2d6291f
5 changed files with 77 additions and 2 deletions

34
README.md Normal file
View File

@ -0,0 +1,34 @@
# Практическая работа. 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*

View File

@ -11,6 +11,16 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Default"
tools:targetApi="31" />
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

View File

@ -0,0 +1,21 @@
package ru.myitschool.work;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import ru.myitschool.work.databinding.ActivityMainBinding;
public class MainActivity extends AppCompatActivity {
private ActivityMainBinding binding;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
}
}

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,3 +1,3 @@
<resources>
<string name="app_name">Work</string>
<string name="app_name">Прямоугольный параллелепипед</string>
</resources>