Для реализации клиента системы ведения личного и семейного бюджета используется язык Java с Anrdoid SDK.
Основные классы приложения:
- MainActivity.java – реализует активность, которая выводит список категорий расходов, позволяет вызвать добавление расходов и обновление списка:
- onCreate — настраивает внешний вид, создаёт setOnItemClickListener для обработки нажатия на элемент ListView, вызывает метод Refresh;
- Refresh — связывается с сервером с помощью метода auth класса apiClient и запрашивает список расходов по категориям методом categoryList класса apiClient;
- CategoryActivity.java – реализует активность со списком расходов за месяц по выбранной категории:
- onCreate — получает переданные через Intent параметры (токен пользователя t и выбранную категорию c). В зависимости от этих данных запрашивает расходы в категории c для пользователя с токеном t при помощи метода items класса apiClient.
- EditActivity.java — реализует активность для создания нового элемента списка расходов:
- onCreate — получает из MainActivity через Intent список существующих категорий и выводит их в Spinner;
- btnSave — передает данные о новом расходе на сервер при помощи метода addItem класса apiClient;
- apiClient.java – содержит класс клиент REST-API:
- auth — аутентификации на сервере;
- categotyList — список категорий и суммарных расходов по ним;
- items — список расходов в категории в течении месяца;
- addItem — добавление новых расходов в список;
- deleteItem — удаление расходов из списка.
- element.java и ListAdapter.java – содержат служебные классы для вывода информации в ListView на активностях Main и Category.
На рисунке изображена основная активность На ней расположены следующие основные элементы:
- Меню для доступа к настройкам;
- Список категорий и расходов. По нажатию на элемент списка происходит переход к активности категории.
- Плавающая кнопка обновления списка;
- Плавающая кнопка добавления расходов.
На рисунке изображена активность настроек. Она позволяет установить логин и пароль пользователя, а так же адрес веб-сервера. Сохранение настроек и закрытие активности осуществляется нажатием соответствующей кнопки.
На рисунке изображена активность категории. Она содержит список из расходов за текущий месяц по выбранной категории, название которой выводится в заголовок активности.
По длинном нажатию на элемент списка появляется диалог, изображенный на рисунке, позволяющий удалить выбранные расходы.
На рисунке изображена активность добавления расходов. На ней расположены следующие элементы:
- spinner выбора категории,
- поля ввода для указания стоимости и комментария к расходу,
- календарь для выбора даты,
- клавиша «отмена» для возврата к основной активности,
- клавиша «сохранить» для добавление расходов.