2
0
size-converter/README.md
Andrey Skripkin 844a9980eb
All checks were successful
Merge core/template-android-project to this repo / merge-if-needed (push) Successful in 14s
Update README.md
2024-06-04 09:51:33 +00:00

44 lines
4.3 KiB
Markdown
Raw Permalink 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)
# Практическая работа. Конвертация единиц измерения
В данном практическом задании предлагается дописать существующий проект-заготовку Android приложения для осуществления конвертации единиц измерения длины.
Детально продумайте архитектуру приложения и старайтесь следовать принципам проектирования. Измените код существующих классов и интерфейсов, добавьте новые классы, дополните разметку, ресурсы и манифест, чтобы приложение обладало следующими особенностями:
1. Значения в полях *EditText* моментально пересчитываются при вводе пользователем некоторого числа в соответствии с единицами измерения.
2. Конвертация производится во все единицы измерения длины с номерами lower upper включительно (см. табл. 1), значения границ интервала передаются в стартовую активность при запуске приложения.
3. Все элементы разметки должны отображаться без прокрутки.
4. Гарантируется, что всегда в интервал номеров для показа на экране попадает текстовое поле с меткой метра. Максимальное значение, вводимое в поле с метрами, указано в табл. 1. Точность проверки: 1e-5.
5. Значения элементам *TextView* присваиваются согласно значениям массива строковых ресурсов (string-array) с названием `text_view_captions`.
6. При нажатии на *TextView* текущее значение соответствующего поля *EditText* копируется в буфер обмена.
| № | *TextView* text (default) | *TextView* text (en) | *EditText* tag | Максимальное значение |
| :-: | - | - | - | - |
| 0 | Дюйм | Inches | `et_inch` | $10^{15}$ |
| 1 | Ярд | Yards | `et_yard` | $10^{14}$ |
| 2 | Фут | Feet | `et_foot` | $10^{14}$ |
| 3 | Миля | Miles | `et_mile` | $10^{10}$ |
| 4 | Иоттаметр | Yottametres | `et_yottametre` | $10^{3}$ |
| 5 | Зеттаметр | Zettametres | `et_zettametre` | $10^{4}$ |
| 6 | Эксаметр | Exametres | `et_exametre` | $10^{5}$ |
| 7 | Петаметр | Petametres | `et_petametre` | $10^{6}$ |
| 8 | Тераметр | Terametres | `et_terametre` | $10^{7}$ |
| 9 | Гигаметр | Gigametres | `et_gigametre` | $10^{8}$ |
| 10 | Мегаметр | Megametres | `et_megametre` | $10^{9}$ |
| 11 | Километр | Kilometres | `et_kilometre` | $10^{10}$ |
| 12 | Гектометр | Hectometres | `et_hectometre` | $10^{11}$ |
| 13 | Декаметр | Decametres | `et_decametre` | $10^{12}$ |
| 14 | Метр | Metres | `et_metre` | $10^{13}$ |
| 15 | Дециметр | Decimetres | `et_decimetre` | $10^{14}$ |
| 16 | Сантиметр | Centimetres | `et_centimetre` | $10^{15}$ |
| 17 | Миллиметр | Millimetres | `et_millimetre` | $10^{16}$ |
| 18 | Микрометр | Micrometres | `et_micrometre` | $10^{17}$ |
| 19 | Нанометр | Nanometres | `et_nanometre` | $10^{18}$ |
| 20 | Пикометр | Picometres | `et_picometre` | $10^{19}$ |
| 21 | Фемтометр | Femtometres | `et_femtometre` | $10^{20}$ |
| 22 | Аттометр | Attometres | `et_attometre` | $10^{21}$ |
| 23 | Зептометр | Zeptometres | `et_zeptometre` | $10^{22}$ |
| 24 | Иоктометр | Yoctometres | `et_yoctometre` | $10^{23}$ |
*Таблица 1. Элементы пользовательского интерфейса*