Пишем свой кредитный калькулятор. Часть 2

В предыдущей статье мы рассматривали теоретическую часть, касающуюся кредитов и того, как рассчитывать платежи по ним, чтобы впоследствии применить эти знания для написания собственного кредитного калькулятора.

Теперь наконец настал момент, чтобы  перейти от теории к практике. В этой статье мы рассмотрим элементы интерфейса и реализацию приложения.

Начальный экран

При старте приложения пользователь попадает на главную активность, в которой будут показываться сохранённые кредиты. Каждая запись представляет из себя «карточку», реализованную с помощью виджета CardView, и размещается внутри виджета RecyclerView.

Пока что экран пуст, поскольку на данный момент не сохранён ни один кредит. Чтобы добавить новый, нужно нажать на кнопку в правом нижнем углу экрана, которая представляет собой стандартный виджет FloatingActionButton.

Экран нового кредита

При нажатии на кнопку добавления пользователь попадает на новую активность, которая содержит в себе два виджета CardView. Первый виджет предлагает ввести пользователю данные о кредите (тип платежа, сумма кредита, срок, процентная ставка и дата первого платежа), а затем рассчитать по ним платёж.

Если пользователь, не заполнив все поля, нажмёт «Рассчитать», ничего не произойдёт и он увидит сообщение о том, что все поля необходимо заполнить.

Когда все данные введены и нажата кнопка «Рассчитать», появляется второй виджет CardView, который содержит результаты расчётов: сумму платежа, величину переплаты, общую сумму и сроки выплат.

Поскольку информация занимает много места и может не помещаться на экранах маленьких смартфонов, оба виджета размещены внутри LinearLayout, помещённого в контейнер ScrollView, что обеспечивает горизонтальную прокрутку экрана приложения. LinearLayout здесь используется лишь потому, что ScrollView позволяет размещать внутри себя лишь один дочерний элемент.

Однако здесь есть ещё один нюанс. В предыдущей статье мы говорили, что есть два вида платежа: аннуитетный и дифференцированный. Приведённые выше результаты показаны для аннуитетного платежа, который одинаков для каждого периода. При дифференцированном платеже каждый месяц размер платежа разный, причём он постепенно уменьшается, поэтому в этом случае указывается диапазон от платежа в первый месяц до платежа в последний.

Интересное наблюдение: как можно увидеть, при дифференцированном платеже размер переплаты ниже, чем при аннуитетном, причём чем больше срок средита, тем заметнее разница. Это делает дифференцированный платёж более выгодным в некоторых ситуациях.

Для того, чтобы более подробно изучить, в какой срок сколько платить (особенно это касается дифференцированного платежа), на карточке с результатами есть кнопка «График», при нажатии на которую откроется новая активность.

Экран графика платежей

После нажатия на кнопку пользователь попадает на следующую активность, которая показывает подробную информацию о состоянии кредита на каждый период выплат.

Здесь в роли контейнера используются всё те же карточки, которые позволяют в удобном виде показать все данные о платежах. Предыдущий экран показывает лишь общий итог по кредиту, здесь же пользователь может увидеть всё более подробно. Например, в третий месяц сумма платежа при заданных ранее параметрах составляет 972,22, из которых часть основного долга равна 833,33, а процентные начисления — 138,89.

Знание этих данных позволяет более рационально планировать свои расходы, исходя из того, сколько нужно будет заплатить в следующем периоде.

Сохранение кредита

Как вы могли заметить, на экране создания нового кредита в правом верхнем углу есть кнопка. С помощью этой кнопки пользователь может сохранить введённые параметры кредита, чтобы в будущем просто открыть его и сразу увидеть, сколько и когда нужно заплатить.

Когда пользователь вернётся на эту активность и нажмёт кнопку, он увидит диалоговое окно, которое предложить дать название кредиту. Это нужно для того, чтобы было удобнее находить нужный кредит в списке.

Затем, при нажатии на «ОК», приложение вернётся на начальный экран, в списке которого вы сразу увидите ваш только что сохранённый кредит с общей информацией: название, сумма кредита, сроки выплат.

Заключение

На этом всё. Таким образом, мы реализовали свой кредитный калькулятор, с помощью которого легко можно рассчитать размер выплат для нужного кредита.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *