Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом Мельников 3а.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.19 Mб
Скачать
      1. Обработка изображения и получение результатов. Обработка производится с помощью метода decodeWithState() объекта MultiFormatReader, в который передается подготовленное ранее изображение. Метода возвращает объект Result, из которого с помощью метода getText() можно получить номер штрих-кода в виде строки.

    1. Реализация пользовательского интерфейса

Интерфейс каждого экрана, элемент списков и диалоговых окон в приложении описывается отдельными файлами на языке XML. Такие файлы называют файлами компоновки или Layout-файлами.

Расположение View-элементов на экране зависит от ViewGroup (Layout), в которой они находятся. Основные виды Layout:

  • LinearLayout – отображает View-элементы в виде одной строки или столбца.

  • TableLayout – отображает элементы в виде таблицы, по строкам и столбцам.

  • RelativeLayout – для каждого элемента настраивается его положение относительно других элементов.

  • AbsoluteLayout – для каждого элемента указывается явная позиция на экране в системе координат (x,y).

В каждом Layout-файле корневым элементом должен быть один из этих ViewGroup.

На рисунке 15 а) изображена структура компонентов одно из экранов. Как видно из рисунка, корневым элементом является LinearLayout. Это значит, что каждый его дочерний узел будет занимать одну строку. У корневого элемента всего один дочерний – LinearLayout. На первый взгляд может показаться бессмысленным вставлять один LinearLayout в корневой элемент LinearLayout. Однако, это не так, поскольку для дочернего узла выставляются отступы от края корневого. Это видно на рисунке 16 б), на котором изображена копия экрана авторизации.

а) б)

Рисунок 16 – а) структура компонентов экрана авторизации; б) экран авторизации.

Неавторизованный пользователь попадает на экран авторизации. Если же пользователь уже был авторизован ранее, то запускается главный экран, который изображен на рисунке 17.

а) б) в)

Рисунок 17 – а) главный экран; б) схема главного экрана; в) схема элемента списка главного экрана.

Из главного экрана пользователь может попасть на экраны приема, выдачи, транспортировки пакетов, экран склада и баланса.

Экраны приема и выдачи пакетов, а также экран результата поиска пакетов практически идентичны. Экраны приема и выдачи пакетов изображены на рисунке 18, а экран результатов поиска на рисунке 19.

Экраны приема и выдачи пакетов содержат поле ввода номера или имени пользователя и несколько кнопок для поиска и включения сканера.

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

а) б)

Рисунок 18 – а) экран приема пакетов; б) экран выдачи пакетов.

а) б)

Рисунок 19 – Экран результатов поиска для: а) выдачи пакетов; б) приема пакетов.

Следующий экран, на который можно попасть из главного – это экран перемещения пакетов, изображенный на рисунке 20 а). Экран представляет собой список ЦРЗ, для которых имеются пакеты на складе. Поэтому при нажатии на один из ЦРЗ, пользователь попадает на экран склада пакетов. В этом случае экран склада будет отображать только те пакеты, которые доступны для перемещения в выбранный ЦРЗ. Экран склада представлен на рисунке 20 б).

а) б)

Рисунок 20 – а) экран перемещения пакетов; б) экран склада.

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

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

Рисунок 21 – экран баланса.