Краткое описание устройства, на котором специализируется работа приложения
Типы, обрабатываемые приложением
Создание оберток для штрихкодов
Обертки для идентификаторов устройств
404.43K

Zebra

1. Краткое описание устройства, на котором специализируется работа приложения

Краткое описание устройства, на котором
специализируется работа приложения
Мобильное компьютерное устройство "ZEBRA", которое применяется:
- в розничной торговле: для сканирования товаров, управления запасами, обработки заказов,
приема платежей и т.д;
- на складах и в логистике: для сбора данных, отслеживания грузов, инвентаризации, управления
складом и т.д;
- в сервисных компаниях: для обслуживания клиентов, сбора данных о работе, управления
заданиями и т.д;
- в здравоохранении: для сбора данных о пациентах, управления медицинскими записями,
выписывания рецептов и т.д;
- в сфере услуг: для мобильной работы, сбора данных, управления заказами, связи с клиентами и
т.д.

2.

Входная точка в приложение
MainActivity
Перед началом работы со сканнером, нужно добавить нашу
программу в специальное фирменное приложение "DataWedge",
именно через него наше приложение сможет коммуницировать с
данными сканера.
Со сканнером можно общаться несколькими способами:
BroadcastReceiver и Activity.NewIntent, я выбрал второй вариант.
На рисунке справа представлена обработка intent, где
decodedData – просканированный код в текстовом виде, и
labelType – тип штрихкода, например Imei, SerialNumber, EAN и
тд.
Например: data – 350123451234560, type – Code128

3.

Обработка данных со сканера
MainViewModel – ViewModel MainActivity
В этом классе происходит первичная обработка данных.
CurrentDestination содержит ссылку на текущий экран.
Для чего это нужно:
В приложении есть места, где штрихкоды сканируются для
добавления в списки, а также для удаления из них.
Для этого был создан интерфейс BarcodePurpose.
При наблюдении за штрихкодами проверяю их тип, если это
ActionDelete – штрихкод нужно удалить из списка, если это
SimpleScan – добавить. Решение так себе, не было времени сделать
лучше.

4. Типы, обрабатываемые приложением

Где EAN и UPC обобщенные штрихкоды.
Identifier – интерфейс маркер, а значит, что штрихкод является идентификатором устройства.
MobileDeviceAuthData – интерфейс маркер. Предполагалось, что нужны пометки таких идентификаторов как
SerialNumber и IMEI.
Но в процессе выяснилось, что не все устройства с Serial Number подходят под определение
"мобильного".
В некоторых случаях приложение отфильтровывает штрихкоды, имплементирующие интерфейс Identifier.
Например есть экран, который ждет сканирования только IMEI и SerialNumber, этот экран проверяет
устройства с данными штрихкодами на подлинность в специальном сервисе через Интернет.

5. Создание оберток для штрихкодов

Создание оберток для штрихкодов
BarcodeDataFactory – создает объекты, имлементирующие интерфейс BarcodeData.
Реализация ясна по представленному коду.

6. Обертки для идентификаторов устройств

Обертки для идентификаторов устройств
IdentifierFactory – создает объекты, имлементирующие интерфейс Identifier.
Существует два индентификатора в приложении – SN и Imei.
Разница между ними в следующем: Imei состоит полностью из цифр, SN содержит буквы.
Поэтому реализация простая, пробуем кастить текстовое представление штрихкода в Long, если успешно, то мы
работаем с Imei, в противном случае с SN.

7.

Наблюдение за сканером с точки зрения приложения
BarcodeScannerManager – интерфейс для работы приложения со
штрихкодами. Позволяет работать со сканером в любом месте приложения.
В целом простая и понятная реализация на мой взгляд. Поэтому
презентация короткая :)
English     Русский Правила