SDK Overview: Modules and Main APIs
This page provides an overview of the various modules and highlights the most essential APIs that form the backbone of Dynamsoft Barcode Reader SDK.
Modules Summary
The Dynamsoft Barcode Reader (DBR) SDK is built on the Dynamsoft Capture Vision (DCV) framework, which includes multiple modules working together to achieve barcode reading. The hierarchical structure diagram below illustrates the various modules of the DBR SDK (with modules at the top depending on those below).
Modules hierarchical of the DBR SDK
The table below describes details the functionalities of these modules:
File | Description | Mandatory/Optional |
---|---|---|
DynamsoftBarcodeReader.aar (DBR) |
The Dynamsoft Barcode Reader module recognizes and decodes multiple barcode formats such as QR codes, Code 39, Code 128, and Data Matrix, among many others. | Mandatory |
DynamsoftCore.aar (Core) |
The Dynamsoft Core module lays the foundation for Dynamsoft SDKs based on the DCV (Dynamsoft Capture Vision) architecture. It encapsulates the basic classes, interfaces, and enumerations shared by these SDKs. | Mandatory |
DynamsoftCaptureVisionRouter.aar (CVR) |
The Dynamsoft Capture Vision Router module is the cornerstone of the Dynamsoft Capture Vision (DCV) architecture. It focuses on coordinating batch image processing and provides APIs for setting up image sources and result receivers, configuring workflows with parameters, and controlling processes. | Mandatory |
DynamsoftImageProcessing.aar (DIP) |
The Dynamsoft Image Processing module facilitates digital image processing and supports operations for other modules, including the Barcode Reader, Label Recognizer, and Document Normalizer. | Mandatory |
DynamsoftLicense.aar (License) |
The Dynamsoft License module manages the licensing aspects of Dynamsoft SDKs based on the DCV (Dynamsoft Capture Vision) architecture. | Mandatory |
DynamsoftCameraEnhancer.aar (DCE) |
The Dynamsoft Camera Enhancer module controls the camera, transforming it into an image source for the DCV (Dynamsoft Capture Vision) architecture through ISA implementation. It also enhances image quality during acquisition and provides basic viewers for user interaction. | Optional |
DynamsoftUtility.aar (Utility) |
The Dynamsoft Utility module defines auxiliary classes, including the ImageManager, and implementations of the CRF (Captured Result Filter) and ISA (Image Source Adapter) . These are shared by all Dynamsoft SDKs based on the DCV (Dynamsoft Capture Vision) architecture. | Optional |
Main APIs
Capture Vision Router
The main class CaptureVisionRouter
acts as the SDK entry point and provides the following essential APIs:
Image Source Adapter
The ImageSourceAdapter
class is an abstract class representing an adapter for image sources, providing a framework for fetching, buffering, and managing images from various sources. It serves as the input for the CaptureVisionRouter
. You can either use the typical implementations of ImageSourceAdapter
or implement your own.
Class CameraEnhancer
is one of the typical implementations of ImageSourceAdapter
. It is a class that not only implements the video frame obtaining APIs but also enable you to improve the video quality by adjusting the camera settings.
Captured Result Receiver
To receive the results of video streaming barcode decoding, you need to implement the CapturedResultReceiver
with the callback method onDecodedBarcodesReceived
. The result you received in the callback method is a DecodedBarcodesResult
object, which contains all the decoded barcodes from the processed video frame.
onDecodedBarcodesReceived
: The callback method for you to receive the barcode decoding results with aDecodedBarcodesResult
object.DecodedBarcodesResult
: An object that contains all theBarcodeResultItem
that obtained from a video frame.BarcodeResultItem
: The basic item that represents a single barcode with the decoded text and other information.
Camera View
CameraView
is a view class that design for visualizing the real time video streaming and the barcode decoding result. If the CameraEnhancer
is set as the input of your CVR, the decoded barcodes will be highlighted automatically on the CameraView
.