From af70c532698c2506b175ff29e3af9ccf17cea411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=BB=D0=B0=D0=B4=D0=B8=D0=BC=D0=B8=D1=80=20=D0=A8?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=BB=D0=B8=D0=BD=D0=B3?= Date: Mon, 29 Apr 2024 17:06:00 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 74ce8ba..f7ab896 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,23 @@ # Практическая работа. New Words -В данном практическом задании предлагается дописать существующий про- ект Android приложения, а именно реализовать возможность сохранения списка английских слов, введённых пользователем, в текстовый файл. +В данном практическом задании предлагается дописать существующий проект Android приложения, а именно реализовать возможность сохранения списка английских слов, введённых пользователем, в текстовый файл. 1. В разметке приложения должны присутствовать элементы, указанные в [табл. 1](#table1). Все элементы разметки должны быть полностью видны и в случае открытой экранной клавиатуры. 2. Слова вводятся в поле с `id/words_input`, разделяются запятой (с пробелом или без пробела). Необходимо сохранить все введённые слова в файл **`words.txt`** в том же порядке. 3. Каждое слово в файле **`words.txt`** должно находиться на отдельной строке; в файле не должно быть слов, которые не были введены в *EditText*. -4. Создание файла происходит по нажатии на *View* c `id/write_internal` или `id/write_external`. +4. Создание файла происходит по нажатии на *View* (или любого наследника, например, *Button*) c `id/write_internal` или `id/write_external`. 5. Если было совершено нажатие на *View* c `id/write_internal`, то файл создаётся во внутреннем хранилище. Если было совершено нажатие на *View* c `id/write_external`, то файл создается во внешнем хранилище. -6. Файл должен размещаться в папке с номером текущего месяца (нумерация с 1), которая находится в папке приложения во внутреннем (внешнем) хранилище устройства. +6. На экране должна быть расположена *TextView* с `id/file_content`, в которую по нажатию на любую кнопку рассчитывается количество введённых пользователем слов. +7. Файл должен размещаться в папке с номером текущего месяца (нумерация с 1), которая находится в папке приложения во внутреннем (внешнем) хранилище устройства. + +Для получения хранилища используйте функцию: +```java +// Вызов внутри Activity +void foo() { + getExternalFilesDir(null); // Получение пути до внешнего хранилища + getFilesDir().getPath(); // Получение пути до внутреннего хранилища +} +``` Например, при использовании внешнего хранилища путь к файлу может выглядеть так: ```text @@ -17,8 +27,9 @@ | № | тип View | идентификатор | | - | :------: | ------------- | | 1 | *View* | `write_internal` | -| 2 | *TextView* | `file_content` | -| 3 | *EditText* | `words_input` | +| 2 | *View* | `write_external` | +| 3 | *TextView* | `file_content` | +| 4 | *EditText* | `words_input` | *Таблица 1: Элементы пользовательского интерфейса* @@ -28,4 +39,9 @@ Допускается использовать язык Java и/или Kotlin. При сборке проекта вcе изменения в файле build.gradle – будут использованы зависимости только из шаблона-заготовки; не изменяйте пакет приложения. -Тестирование одной посылки может длиться до 3-x минут, после заверше- ния тестирования будет доступна информация об общем числе тестов и числе пройденных тестов. Количество посылок в систему не ограничено. Штраф за повторные попытки не начисляется. \ No newline at end of file +Тестирование одной посылки может длиться до 3-x минут, после заверше- ния тестирования будет доступна информация об общем числе тестов и числе пройденных тестов. Количество посылок в систему не ограничено. Штраф за повторные попытки не начисляется. + + +![](/doc/screenshot.png) + +*Рис. 1. Пример итогового интерфейса* \ No newline at end of file