Взаимодействие с пользователем



Сценарий взаимодействия:

1. Переход из главного экрана приложения в экран настроек для подключения к прибору (см. Рисунок 8).

Рисунок 8 — Интерфейс приложения


 

2. Заполняем поля Port и Адрес приборов (см. Рисунок 9).

Рисунок 9 — Интерфейс приложения

3. Выбираем один из пунктов TCP/USB, с помощью которых будем получать данные с приборов (см. Рисунок 10).

Рисунок 10 — Интерфейс приложения

4. Возвращаемся на главный экран, заполняем поле «Имя для сохранения» и из выпадающего списка выбираем один из приборов, который будет опрашиваться (см. Рисунок 11).

Рисунок 11 — Интерфейс приложения


 

5. В календаре выберем дату, с которой начнется опрос прибора (см. Рисунок 12).

Рисунок 12 — Интерфейс приложения


 

6. Из представленного списка выбираем нужные типы архивов для считывания и нажимаем на кнопку «Читать», после этого с помощью диалогового окна пользователь подтверждает правильность введённых данных, и, в случае положительного ответа, начинается чтение архивов (см. Рисунок 13).

Рисунок 13 — Интерфейс приложения

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

Работа с файлами

Программа чтения данных должна иметь функцию составления отчетов - иначе в ней не было бы смысла. Данные, полученные и расшифрованные, будут сохраняться в csv-файлы. Чтобы не хранить много данных в оперативной памяти, будем записывать данные по мере поступления.

В целом, шаблон отчета таков (см. Таблица 5).

Таблица 5 — Шаблон отчёта программы

Модель: Карат-307

Серийный номер прибора: 00011220

Тип архива      
Время Параметр-1 Параметр2
01.01.2021 47,99999237 23,99999619
02.01.2021 47,99999237 23,99999619

Для записи создан новый класс CSVCreator, инициализируемый в момент получения серийного номера и модели прибора. Это и есть первые записи в отчете.

Запись в файл организуется при помощи Writer из java.io.

          Writer writer = Files.newBufferedWriter(Paths.get(filesDir + fname + ".csv"));

FilesDir - File-объект, получаемый из контекста приложения и показывающий рабочую папку приложения на устройстве. Сюда приложение имеет право

записывать новые файлы, но лишь при выставлении соответствующего разрешения в манифесте. Имя файла назначается пользователем или собирается из имени, номера прибора и времени опроса, что обеспечивает уникальность и информативность.

Объект Writer передается в opencsv.CSVWriter, который формирует данные в нужном формате, выставляя стандартные разделители и т.д. При поступлении данных архивов документ дополняется.


 

ЗАКЛЮЧЕНИЕ

В ходе работы над проектом «Разработка мобильного приложения для считывания архивных данных теплосчетчиков и вычислителей «Карат» была проделана работа по основным стадиям разработки, результаты представлены в репозиториях по ссылкам из приложения А.

На первом этапе была выявлена и декомпозирована проблема, получены требования, изучен аналог на десктопной платформе, выбраны способы коммуникации и совместной работы.

Далее были изучены технологии, которые могут быть применены при создании приложения и из нескольких вариантов развития был выбран один, представленный в этом отчёте. Резюмируя, создано приложение, которое повторяет функциональность программы «Карат-Дата» от разработчиков «Уралтехнологии» с учетом специфики мобильной платформы. Это отразилось не только на переосмыслении внешнего вида и сценариев пользовательского взаимодействия, но и подходов к программированию взаимодействия с прибором как с сервером. Основными инструментами решения стали библиотеки jlibmodbus, usbserialforandroid и csvcreator.

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

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


Дата добавления: 2021-02-10; просмотров: 68; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!