[![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. Элементы пользовательского интерфейса*