Dev Center
Table of contents

Demo and Samples



Native Android Samples

Sample Name Description Tags
HelloWorld The simplest video streaming barcode scanner. The scan mode is one-off scanning. One-off scan / Barcode format
GeneralSettings Displays general barcode decoding settings and camera settings like barcode formats, exepcted barcode count and scan region settings. The default scan mode is continuous scanning. Continuous scan / Barcode format
PerformanceSettings Parameter configuration guide on improving the speed, read-rate and accuracy of barcode reading. The sample includes the code of image decoding from the ablem. Continuous scan / Image decoding / Speed / Read rate / Accuracy
ReadADriversLicense Introduce how to read the PDF417 barcode on a US driver’s license and extract the driver’s information. PDF417 / US drivers’ license / One-off scan
DecodeWithCameraX Almost the same with the Helloworld sample but using CameraX as the source of the video streaming. Continuous scan / CameraX
TinyBarcodeDecoding The sample to tell you how to process the tiny barcodes. Including zoom and focus control. Tiny barcode / Zoom / Focus
ImageDecoding The sample shows how to pick an image from the album for barcode decoding. Image Decoding

Cross-platform Samples

Sample Name Description
BarcodeReaderSimpleSample (React Native) Run a simple video streaming barcode scanner on React Native platform.
BarcodeReaderSimpleSample (Flutter) Run a simple video streaming barcode scanner on Flutter platform.
BarcodeReaderSimpleSample (Xamarin.Forms) Run a simple video streaming barcode scanner on Xamarin.Forms platform.
BarcodeReaderSimpleSample (Cordova) Run a simple video streaming barcode scanner on Cordova platform.

About Dynamsoft Barcode Reader Android Samples

Before you start viewing the samples, the following concepts may help you understand how to get started with Dynamsoft Barcode Reader.


You need a valid license to unlock the full feature of Dynamsoft Barcode Reader. Otherwise, the barcode results will be encoded and the coordinates of barcode location results are offset.

  • The samples on GitHub are provided with time-limited free trial, which require network connection to work.
  • You can request for a 30-day trial license via the Customer Portal. Offline trial license is also available by contacting us.
  • If you download the sample along with the Installation Package, the 30-day trial license is already included in the sample code.

Scan Mode

Here we define 3 different scan modes:

  • One-off scanning: Scan barcode(s) from the video streaming and stop scanning after barcode results are output.
  • Continuous scanning: Scan barcode(s) from the video streaming and output barcode results continuously.
  • Image decoding: Read barcode(s) from an image, an image in the memory or a bitmap by triggering image decoding method(s).

For the majority of our samples, one-off scanning and continuous scanning from the video streaming are using Dynamsoft Camera Enhancer (DCE) to capture the video streaming. For the features and APIs of DCE please view DCE online documents. You can also use a third party library like CameraX to capture the video streaming.


In the samples, we demonstrate the performance settings from 3 different aspects: Speed, Read Rate and Accuracy. The parameter configurations are generally speed-friendly, read-rate-friendly and accuracy-friendly settings but might not be the best settings for your usage scenario. The performance sample can help you get a basic understanding of the Dynamsoft Barcode Reader parameters. Please feel free to contact us for further support on optimizing the parameters.

This page is compatible for:

Version 7.5.0

Is this page helpful?

YesYes NoNo

In this article:

version 9.6.40

  • Latest version (10.2.10)
  • Version 10.x
    • Version 10.0.21
    • Version 10.0.20
  • Version 9.x
    • Version 9.6.40
    • Version 9.6.20
    • Version 9.6.11
    • Version 9.6.10
    • Version 9.6.0
    • Version 9.4.0
    • Version 9.2.13
    • Version 9.2.11
    • Version 9.2.10
    • Version 9.0.2
    • Version 9.0.1
    • Version 9.0.0
  • Version 8.x
    • Version 8.9.3
    • Version 8.9.1
    • Version 8.9.0
    • Version 8.8.0
    • Version 8.6.0
    • Version 8.4.0
    • Version 8.2.1
    • Version 8.2.0
    • Version 8.1.2
    • Version 8.1.0
    • Version 8.0.0
  • Version 7.x
    • Version 7.6.0
    • Version 7.5.0
Change +