# Практическая работа. New Words В данном практическом задании предлагается дописать существующий проект Android приложения, а именно реализовать возможность сохранения списка английских слов, введённых пользователем, в текстовый файл. 1. В разметке приложения должны присутствовать элементы, указанные в [табл. 1](#table1). Все элементы разметки должны быть полностью видны и в случае открытой экранной клавиатуры. 2. Слова вводятся в поле с `id/words_input`, разделяются запятой (с пробелом или без пробела). Необходимо сохранить все введённые слова в файл **`words.txt`** в том же порядке. 3. Каждое слово в файле **`words.txt`** должно находиться на отдельной строке; в файле не должно быть слов, которые не были введены в *EditText*. 4. Создание файла происходит по нажатии на *View* (или любого наследника, например, *Button*) c `id/write_internal` или `id/write_external`. 5. Если было совершено нажатие на *View* c `id/write_internal`, то файл создаётся во внутреннем хранилище. Если было совершено нажатие на *View* c `id/write_external`, то файл создается во внешнем хранилище. 6. На экране должна быть расположена *TextView* с `id/file_content`, в которую по нажатию на любую кнопку рассчитывается количество введённых пользователем слов. 7. Файл должен размещаться в папке с номером текущего месяца (нумерация с 1), которая находится в папке приложения во внутреннем (внешнем) хранилище устройства. Для получения хранилища используйте функцию: ```java // Вызов внутри Activity void foo() { getExternalFilesDir(null); // Получение пути до внешнего хранилища getFilesDir().getPath(); // Получение пути до внутреннего хранилища } ``` Например, при использовании внешнего хранилища путь к файлу может выглядеть так: ```text /storage/emulated/0/Android/ru.myitschool.lab23/files/3/words.txt ``` | № | тип View | идентификатор | | - | :------: | ------------- | | 1 | *View* | `write_internal` | | 2 | *View* | `write_external` | | 3 | *TextView* | `file_content` | | 4 | *EditText* | `words_input` | *Таблица 1: Элементы пользовательского интерфейса* В проекте gradle version 7.5, gradle plugin version 7.3.0. Сдать в систему тестирования необходимо zip архив, в корневом каталоге которого располагается дополненный проект Android Studio/IntelliJ IDEA. После загрузки zip архива приложение будет запущено в системе автоматического тестирования для проверки на соответствие техническому заданию. Допускается использовать язык Java и/или Kotlin. При сборке проекта вcе изменения в файле build.gradle – будут использованы зависимости только из шаблона-заготовки; не изменяйте пакет приложения. Тестирование одной посылки может длиться до 3-x минут, после заверше- ния тестирования будет доступна информация об общем числе тестов и числе пройденных тестов. Количество посылок в систему не ограничено. Штраф за повторные попытки не начисляется. ![](/doc/screenshot.png) *Рис. 1. Пример итогового интерфейса*