Skip to content

A sample code that uses Zebra's AI Vision SDK to capture multiples barcodes at the same time and save them in a TXT, CSV, Excel file or upload them using HTTP/HTTPS Post method to a Web Server running in a Docker Image.

Notifications You must be signed in to change notification settings

ZebraDevs/AI-Java-MultiBarcodesCapture

Β 
Β 

Repository files navigation

AI MultiBarcode Capture Application

License Platform Language Version API SDK

Apache MySQL Docker HTML5 JavaScript CSS3

A comprehensive Android enterprise application demonstrating Zebra AI Vision SDK capabilities for simultaneous multi-barcode detection, tracking, and session-based data management with enterprise deployment features.

πŸ“š Complete Setup & Deployment Documentation - Comprehensive guides for quick start, Docker deployment, API integration, and enterprise configuration.

Please note that this is a Work In Progress.

Report any issues using the Issues manager of the original repository: https://github.com/ltrudu/AI_MutliBarcodes_Capture

πŸ“… What's New

Version 1.30 - πŸ” Updated Translation Files

πŸ“š Wiki Updates:

β€’ πŸ“š Complete Regex Pattern Library: Comprehensive collection of 300+ regex patterns covering web URLs, device identifiers, government IDs, license plates, postal codes, phone numbers, and industry standards

β€’ πŸ” Understanding Certificates for Beginners: Complete beginner's guide explaining certificate creation, platform-specific requirements, and how to create self-signed certificates that Windows and Android recognize as legitimate Certificate Authority certificates

Version 1.29 - πŸ” Advanced Barcode Filtering System

Enhanced barcode processing capabilities with intelligent pattern-based filtering for precision data capture.

πŸ†• New Features:

β€’ Regular Expression Filtering: Powerful pattern-based barcode filtering system that captures only barcodes matching specific criteria

β€’ Real-time Pattern Matching: Filtering applied during live scanning for immediate results

β€’ Comprehensive Pattern Examples: Built-in documentation with common regex patterns for various use cases

βš™οΈ Advanced Filtering Capabilities:

β€’ Custom Pattern Support: Create complex regex patterns for specialized applications

β€’ πŸ“š Complete Regex Pattern Library: Comprehensive collection of regex patterns for web URLs, device identifiers, government IDs, product codes, and industry standards

πŸ›  Enterprise Management:

β€’ Managed Configuration Support: Full enterprise MDM/EMM integration for remote filtering configuration

β€’ Comprehensive Documentation: Updated configuration guides with filtering setup instructions

β€’ Error Handling: Robust pattern validation with fallback behavior for invalid expressions

β€’ Performance Optimized: Efficient regex processing without impacting scan performance

This release transforms the application into a precision tool for selective barcode capture, perfect for quality control, inventory management, and specialized data collection workflows.

πŸ“‹ View Complete Changelog for previous versions and detailed release history.

πŸ“– Quick Start Links

Guide Description
15-Minute Quick Start Get the system running in 15 minutes
Installation Guide Complete system installation
Android App Configuration Configure the mobile barcode scanner
Docker WMS Setup Deploy and use the web management system
πŸ“š All Documentation Complete documentation index

πŸš€ Key Features

πŸ” Advanced Barcode Detection

  • Multi-Barcode Simultaneous Tracking: Detect and track multiple barcodes in real-time
  • 50+ Barcode Symbologies Support: Including QR Code, Data Matrix, Code 128, UPC/EAN, PDF417, Aztec, and many more
  • AI-Powered Recognition: Leverages Zebra AI Vision SDK v3.0.2 with barcode localizer model v5.0.1
  • Real-time Entity Tracking: Visual overlay with bounding boxes and decoded values
  • Configurable Detection Settings: Customizable symbology enabling/disabling

πŸ“Š Session Management

  • Session-Based Workflow: Organize barcode captures into manageable sessions
  • Multiple Export Formats:
    • Text files (.txt)
    • CSV files (.csv)
    • Excel files (.xlsx) with Apache POI integration
  • File Browser Integration: Navigate and manage session files with swipe gestures
  • Last Session Persistence: Resume previous sessions seamlessly
  • Session Viewer: Review captured data with edit and delete capabilities

✏️ Data Management

  • In-App Editing: Edit barcode data, quantities, and metadata
  • Swipe Gestures: Left swipe to reveal edit and delete options
  • Quantity Management: Track quantities with increment/decrement controls
  • Data Validation: Form validation and error handling

🏒 Enterprise Features

  • Complete Web Management System: Real-time web interface for centralized barcode session monitoring and management
  • 🌐 Advanced Multilingual Support: Enterprise-grade translation system supporting 76+ Android languages with dynamic discovery
  • πŸš€ Ultra-Fast Translation Pipeline: Speed-optimized translation engine with 10-20x performance improvements, batch processing, and parallel execution
  • πŸ”„ Automated Translation Workflow: AI-powered translation automation with Google Translate API integration and quality validation
  • 🌍 Dynamic Language Discovery: Automatic detection and population of available language files in the web interface
  • Docker Infrastructure: Production-ready containerized deployment with Apache, MySQL, and phpMyAdmin
  • Enterprise REST API: Comprehensive backend with session management, device tracking, and data export
  • Real-Time Data Synchronization: Live dashboard updates with 1-second refresh intervals
  • Multi-Device Support: Device hostname tracking and identification for enterprise environments
  • Managed Configuration Support: Full EMM/MDM integration for enterprise deployment
  • Real-time Policy Updates: Configuration changes applied without app restart
  • Nested Configuration Structure: Organized settings with collapsible barcode symbology groups
  • Administrator Notifications: Toast notifications for policy updates
  • Dynamic Registration: Android 8.0+ compatible managed configuration system

🚨 Advanced Error Reporting

  • Dual-Channel Feedback System:
    • EMM feedback channels for enterprise devices
    • Email fallback for comprehensive coverage
  • Automatic Error Reporting: LogUtils.e() calls trigger detailed reports
  • Comprehensive Reports: Include device info, app version, stack traces, and timestamps
  • Enterprise Integration: Direct integration with EMM systems for error visibility

πŸ“± Screenshots

Android Application

Entry Choice Screen Entry Choice Screen Menu Camera Preview with Detection Captured Barcodes View Session Management Folders Session Management File With Selection Session Management Menu Settings Configuration Settings File Processing Settings HTTP(s) Post Settings Filter HTTPS URL With Regular Expression Session Data Editor Session Data Editor Row Swipe Left Barcode Quantity Editor

WMS Barcode Web Server

Barcode WMS WebServer
Barcode WMS WebServer Session Detail
Barcode WMS WebServer Settings Barcode WMS WebServer Settings Certificates Barcode WMS WebServer Settings Endpoints Barcode WMS WebServer Settings Endpoint QRCode

πŸ—οΈ Architecture

Core Activities

  • SplashActivity: Application launcher with branding and permissions
  • EntryChoiceActivity: Session management and AI Vision SDK initialization
  • CameraXLivePreviewActivity: Real-time camera preview with barcode detection
  • CapturedBarcodesActivity: Review and manage captured barcode data
  • SessionViewerActivity: Browse and edit existing session data
  • BrowserActivity: File management with swipe gesture support
  • SettingsActivity: Configuration interface for app preferences
  • BarcodeDataEditorActivity: In-app data editing with form validation

Key Systems

  • BarcodeTracker: Core barcode detection using Zebra AI Vision SDK
  • EntityTrackerAnalyzer: Real-time multi-barcode tracking and analysis
  • ManagedConfigurationReceiver: Enterprise policy management
  • LogUtils: Centralized logging with automatic error reporting
  • FileUtil: Session file management and export capabilities

πŸ”§ Technical Specifications

Requirements

  • Android 14+ (API 34): Minimum supported version
  • Target SDK 35: Android 14+ optimization
  • Java 1.8: Language compatibility

Dependencies

  • Zebra AI Vision SDK: v3.0.2 - Core barcode detection engine
  • Barcode Localizer Model: v5.0.1 - AI model for barcode localization
  • CameraX: v1.4.2 - Modern camera functionality
  • Apache POI: v5.2.3 - Excel export capabilities
  • Gson: v2.13.1 - JSON serialization
  • Material Design Components: v1.12.0 - UI framework
  • Critical Permission Helper: 0.8.1 - Automatically grant critical permissions (Camera, Manage All Files) CriticalPermissionHelper Repository

Build Configuration

  • Android Gradle Plugin: 8.11.0
  • Gradle Wrapper: 8.9

πŸ“‹ Configuration

Managed Configuration Options

  • File Prefix: Default prefix for exported session files

  • Export Format: Choose between TXT, CSV, or XLSX

  • Barcode Symbologies: Enable/disable specific barcode types

  • Real-time Updates: Configuration changes applied without restart

  • More information on Managed Configuration here: Documentation

Supported Barcode Types

2D Codes: QR Code, Data Matrix, Aztec, PDF417, MaxiCode, and more
1D Codes: Code 128, Code 39, UPC/EAN, GS1 DataBar, and more
Postal Codes: US Planet, UK Postal, Canadian Postal, and more
Specialty Codes: GS1 DataMatrix, Composite codes, DotCode, and more

πŸ” Usage Examples

Basic Barcode Scanning (File Mode)

  1. Launch app and grant camera permissions
  2. Create new session or load existing one
  3. Point camera at barcodes for automatic detection
  4. Tap "Capture" to save detected barcodes
  5. Review and edit captured data
  6. Swipe left a captured barcode data row to access to delete button or edit button
  7. Use edit button to change quantity
  8. Use the merge button to merge quantities if there were previously scanned data in the session
  9. Export to desired format (TXT/CSV/XLSX)

Enterprise Web Management (HTTP Mode)

  1. Configure Docker environment and start web services
  2. Set Android app to HTTP(s) Post mode with endpoint URL
  3. Scan barcodes and upload sessions to web management system
  4. Monitor real-time scanning activity via web dashboard
  5. Manage sessions, view device information, and export data
  6. Track multiple devices simultaneously with hostname identification

Enterprise Deployment

  1. Configure barcode symbologies via EMM console
  2. Deploy app with managed configuration
  3. App receives real-time policy updates
  4. Error reports sent via EMM feedback channels
  5. Monitor app usage through enterprise dashboards

πŸ”— Additional Resources

πŸ“š Complete Documentation Wiki: Comprehensive Setup and Deployment Guides - 15+ detailed guides covering everything from quick start to enterprise deployment

Zebra AI Vision SDK Documentation: https://techdocs.zebra.com/ai-datacapture/latest/about/

More Android AI Samples: https://github.com/ZebraDevs/AISuite_Android_Samples

πŸ“ž Support

Please be aware that this library / application / sample is provided as a community project without any guarantee of support

For technical questions and community support:

  • GitHub Issues: Report bugs and feature requests in the original repository: link
  • Zebra Developer Portal: Technical documentation and resources
  • Community Forums: Connect with other developers

License

All content under this repository's root folder is subject to the Development Tool License Agreement. By accessing, using, or distributing any part of this content, you agree to comply with the terms of the Development Tool License Agreement.

About

A sample code that uses Zebra's AI Vision SDK to capture multiples barcodes at the same time and save them in a TXT, CSV, Excel file or upload them using HTTP/HTTPS Post method to a Web Server running in a Docker Image.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 65.3%
  • JavaScript 11.8%
  • PHP 8.4%
  • Shell 5.0%
  • CSS 4.2%
  • Batchfile 2.6%
  • Other 2.7%