Афоризм
Не надо делать мне как лучше, оставьте мне как хорошо.
Последние статьи

 • Активности Android
Многоэкранные Android приложения
 • Fragment dynamic
Динамическая загрузка фрагментов в Android
 • Fragment lifecycle
Жизненный цикл Fragment'ов в Android
 • Fragment example
Пример Fragment'ов в Android
 • Data Binding
Описание и пример Data Binding
 • Пример MVVM
Пример использования MVVM в Android
 • Компонент TreeTable
Описание компонента TreeTable для Swing
 • Пример TreeTable
Пример использования TreeTable
 • Хранилища Android
Внутренние и внешние хранилища данных
 • Пример SQLite
Пример использования SQLite в Android
 • WebSocket
Описание и пример реализации WebSocket
 • Визуальные компоненты
Улучшен компонент выбора даты из календаря
 • Анимация jQuery
Описание и примеры анимации элементов DOM
 • APK-файл Android
Создание apk-файла для android устройств, .dex файлы
 • платформа JaBricks
Платформа OSGi-приложения JaBricks
Поддержка проекта

Если Вам сайт понравился и помог, то будем признательны за Ваш «посильный» вклад в его поддержку и развитие
 • Yandex.Деньги
  410013796724260

 • Webmoney
  R335386147728
  Z369087728698
Перейти к списку бандлов

Справочник курсов валют

Модуль list-exchange предназначен для управления cправочником курсов валют приложения на платформе JaBricks. Интерфейс справочника локализован для нескольких языков и позволяет просматривать добавлять, изменять и удалять записи. Справочник курсов валют версии 1.0.0 в виде диалогового окна, представленного на следующем скриншоте, включает таблицу и поля формы для выбора периода (год и месяц) и валюты. Справочник курсов валют версии 2.0.0 реализует тот же функционал, но имеет немного отличный интерфейс, связанный с тем, что форму справочника можно представить как в виде диалогового окна, так и в виде панели, интегрируемую в контейнер главного фрейма, либо в контейнер другого бандла (скриншот ниже).

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

Описание интерфейса формы

В левой части формы располагается таблица представления курса валют за выбранный месяц. Над таблицей размещается титульная строка с отображением кода валюты и временно́го периода. Справа над таблицей размещается кнопка обновления курса валюты данными из таблицы базы данных (БД). Данные курса определенной валюты представлены в таблице по дням с указанием дня недели. Список валют модуль получает из таблицы БД jbt_currencies. Если в таблице jbt_currencies, управляемой справочником валюты list-currencies, указан код валюты, то это значение будет отображено в заголовке последней колонки таблицы (к примеру для евро, «Значение €»).

Информация из таблицы БД
Чтобы загрузить из БД информацию о курсах валюты по дням за определенный месяц необходимо в форме справа определить «Год», «Месяц», «Валюту» и нажать кнопку обновления над таблицей.

Информация из сервисов ЦБ РФ
Кнопка «Данные ЦБ» позволяет вызвать сервис Центрального Банка РФ и на записи из БД наложить значения, определенные Центральным банком. При наличии расхождений значения Центрального банка подсвечиваются синим цветом.

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

Удаление записи
Для удаления записи необходимо очистить значение ячейки таблицы и нажать кнопку сохранения. Соответствующее значение будет удалено из БД.

Примечание :
1. Интерфейс модуля «заточен» под использование сервиса получения курса валюты Центрального банка РФ. При открытии формы модуль автоматически устанавливает текущий период (год и месяц) и загружает информацию за текущий месяц из БД. Пользователю остается только нажать кнопку «Данные ЦБ» и, после загрузки данных из интернета, кнопку «Сохранить». При необходимости можно в несколько нажатий загрузить и сохранить данные за другой период.
2. При отсутствии интернета, т.е. возможности получения курсов валют от сервисов ЦБ РФ, значения курсов валют можно ввести вручную.
3. При необходимости модуль может быть доработан под сервис получения курса валют от другого банка (не обязательно России), либо дополнен импортом данных в виде файла типа XML.

Поля таблицы

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

«Номинал» валюты

Номинал определяет объем валюты, для которой определяется значение курса. Так, например, для представленного в таблице курса валют 'usd' указывается значение стоимости одного доллара. Если посмотреть на курс украинской гривны, который возвращает сервис Центрального банка за 01.02.2018, то увидим, что значение номинала равно 10, а курс 20.1810, т.е. 10 украинских гривен стоят 20.1810 рублей по курсу ЦБ.

<Record Date="01.02.2018" Id="R01720">
    <Nominal>10</Nominal>
    <Value>20.1810</Value>
</Record>

При ручном вводе курса валюты модуль при сохранении автоматически подставит значение номинала, равное значению за один из предыдущих дней, либо '1' при первой записи в БД.

«Значение» валюты

Поле значения курса валюты редактируемое. При отсутствии интернета можно вводить значение вручную. Значения в ячейках имеют следующую цветовую подсветку :

черный – сохраненное значение в таблице БД;
синий – не сохраненное значение ЦБ РФ;
малиновый – не сохраненное введенное вручную значение.

Локализация интерфейса

Интерфейсная форма, предупреждающие сообщения и справочные данные месяцев, дней недели и валют локализованы. Модуль list-exchange подписан на рассылку сообщения по смене текущего языка локализации jabricks/LocaleEvent. Изменение в приложении JaBricks текущего объекта локализации Locale автоматически переведет интерфейс справочника на новый язык локализации. Локализованные ресурсы интерфейса модуля включены в бандл. Значение текущего языка локализации модуль получает в бандле ресурсов util-resources.

Версия модуля 1.0.0 включает три языка локализации : русский, английский, немецкий.

Справочная таблица БД

Модуль list-exchange создает в базе данных справочную таблицу курсов валют jbt_exchange. Справочная таблица jbt_currencies используется модулем для загрузки в интерфейс списка валют. При первом старте модуля выполняется проверка наличия в БД справочной таблицы jbt_currencies. В случае ее отсутствия таблица jbt_exchange также не будет создана. Для взаимодействия с сервером БД list-exchange использует модуль util-db.

Примечание :
Первый старт с созданием справочной таблицы jbt_currencies должен быть выполнен модулем list-currencies, после чего можно стартовать list-exchange, создающим свою справочную таблицу jbt_exchange. При дальнейших стартах list-exchange выполняет только проверку наличия соответствующих таблиц в БД.

Зависимости

Модуль list-exchange версии 1.0.0 использует следующие бандлы :

  • util-resources, от которого получает текущую и список используемых в приложении Locale для локализации интерфейса и данных при выполнении транзакций;
  • util-db для установления соединения с сервером БД, проверки наличия справочных таблиц jbt_exchange, jbt_currencies, выполнения операций чтения, записи, обновления и удаления.
  • gui-widgets, содержащий компоненты формирования интерфейса формы.
  • base-jdialog – базовый модуль формирования интерфейса формы.

Подключение модуля к приложению

Для подключения модуля list-exchange версии 1.0.0 в приложение Jabricks необходимо :

  • разместить модуль в поддиректории «configuration/bundles/»;
  • внести в файл инициализации бандлов «bundles.ini» запись : list-exchange-1.0.0.jar;
  • определить пункт меню или/и кнопку панели инструментов, параметрами подключения которых указать GAV значения бандла list-exchange.

GAV параметры модуля list-exchange имеют следующие значения :

• groupId : org.jabricks.exchange
• artifactId : list-exchange
• version : 1.0.0

Подробнее о включении модуля в приложение Jabricks представлено здесь.

Отличия справочника версии 2.0.0

На следующем скриншоте представлен интерфейс справочника курсов валют версии 2.0.0 в виде диалогового окна. Внешние отличия от версии 1.0.0 касаются в основном кнопок управления. Кроме этого, регулируемые настройки интерфейса, связанные с размерами колонок таблицы и положением вертикального сепаратора, при закрытии формы сохраняются, а при следующем старте восстанавливаются.

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

Кроме внешних интерфейсных отличий, справочник курсов валют версии 2.0.0 имеет и структурные отличия, связанные с его зависимостью от базового модуля base-universal, требующего при старте определение типа представления интерфейса (параметр guimode). Описание использования модуля base-universal представлено на странице Урок 14 и на странице примера templ-universal с комментариями к исходным кодам.

Таким образом, чтобы вместо справочника курсов валют версии 1.0.0 использовать справочник версии 2.0.0 необходимо в конфигурацию включить базовый модуль base-universal вместо base-dialog, и определить параметр guimode в структуре описания меню, либо панели инструментов главного фрейма.

Скачать list-exchange

Рассмотренный на странице модуль list-exchange версии 1.0.0 упакован в архивный файл list-exchange-1.0.0.zip (45.5 Кб). Модуль list-exchange версии 2.0.0 упакован в архивный файл list-exchange-2.0.0.zip (46.2 Кб).

  Рейтинг@Mail.ru