From 61a0613907c88e0d75dc536b5b16e0cf9c4e8f0a 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: Thu, 4 Jan 2024 14:00:33 +0000 Subject: [PATCH] add readme --- README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..0e683ae --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# Практическая работа Expense Tracker + +В данном практическом задании предлагается дописать существующий проект-заготовку Android приложения для контроля личных финансов. + +Советуем сначала скачать шаблон-заготовку проекта и открыть проект в Android Studio или IntelliJ IDEA. + +Измените код существующих классов и интерфейсов, дополните разметку, ресурсы и манифест, чтобы приложение отвечало следущим требованиям: + +1. При запуске приложения (*MainActivity* – стартовая активность) показывается:
+ пустой список *RecyclerView* (`@id/ef_expenses_rv`),
+ кнопка с возможностью добавить новую операцию (`@id/add_fab`)
+ текстовое `поле @id/ef_current_balance_text`. В `@id/ef_current_balance_text` отображается текущее значение баланса пользователя (сумма всех операций: доходы−расходы) с точностью до одного знака после точки. Это значение может быть отрицательным. +2. При нажатии на элемент `@id/add_fab` появляется диалоговое окно с `@id/type_spinner`, `@id/expense_amount_edit_text` и `@id/add_button`. +3. Элемент `@id/type_spinner` позволяет выбрать одну из двух альтернатив (доход или расход), первый пункт выпадающего списка содержит строку «`Income`» (без кавычек), второй пункт – «`Expenses`». +4. Пользователь вводит натуральное число в `@id/expense_amount_edit_text`. Гарантируется, что введённое пользователем число не превышает $10^{4}$. +5. После нажатия на `@id/add_button` диалоговое окно закрывается, при этом очередная операция (доход или расход) добавляется в конец списка. В `@id/ef_current_balance_text` обновляется текущее значение баланса пользователя. +6. Каждый элемент списка содержит в себе информацию о типе операции («Income»/«Expenses»), дате добавления информации о ней в приложение (в формате «`dd.MM.yyyy`») и её сумму, это отображается в текстовых полях с идентификаторами `@id/expense_type_text`, `@id/expense_date_text` и `@id/expense_amount_text` соответственно. +7. При длительном нажатии на любой элемент списка появляется контекстное меню, позволяющее удалить этот элемент (Delete) или дублировать его (Duplicate). При выборе опции с текстом «Duplicate» в конец списка помещается элемент с совпадающими значениями полей. +8. При повороте экрана устройства данные должны сохраняться. + +Рекомендуется использовать Android Studio Dolphin 2021.3.1. В проекте gradle version 7.5, gradle plugin version 7.3.0. + +Сдать в систему тестирования необходимо zip архив, в корневом каталоге которого располагается дополненный проект Android Studio/IntelliJ IDEA. После загрузки zip архива приложение будет запущено в системе автоматического тестирования для проверки на соответствие техническому заданию. + +Допускается использовать язык Java и/или Kotlin. При сборке проекта вcе изменения в файле build.gradle будут проигнорированы – будут использованы зависимости только из шаблона-заготовки; не изменяйте пакет приложения. + +Тестирование одной посылки может длиться до 5 минут, после завершения тестирования будет доступна информация об общем числе тестов и числе пройденных тестов. Количество посылок в систему не ограничено. Штраф за повторные попытки не начисляется. \ No newline at end of file