add readme
This commit is contained in:
parent
55828ed2b1
commit
61a0613907
27
README.md
Normal file
27
README.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Практическая работа Expense Tracker
|
||||
|
||||
В данном практическом задании предлагается дописать существующий проект-заготовку Android приложения для контроля личных финансов.
|
||||
|
||||
Советуем сначала скачать шаблон-заготовку проекта и открыть проект в Android Studio или IntelliJ IDEA.
|
||||
|
||||
Измените код существующих классов и интерфейсов, дополните разметку, ресурсы и манифест, чтобы приложение отвечало следущим требованиям:
|
||||
|
||||
1. При запуске приложения (*MainActivity* – стартовая активность) показывается:<br/>
|
||||
пустой список *RecyclerView* (`@id/ef_expenses_rv`),<br/>
|
||||
кнопка с возможностью добавить новую операцию (`@id/add_fab`)<br/>
|
||||
текстовое `поле @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 минут, после завершения тестирования будет доступна информация об общем числе тестов и числе пройденных тестов. Количество посылок в систему не ограничено. Штраф за повторные попытки не начисляется.
|
Loading…
x
Reference in New Issue
Block a user