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 XAMPP 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.34 - πŸ“± Android 15 Update & Enhanced UI/UX

Major platform update with comprehensive UI improvements and expanded deployment options.

πŸ“± Android 15 (API 35) Migration:

β€’ Target SDK Update: Migrated from Android 14 (API 34) to Android 15 (API 35) for latest platform features and security enhancements

β€’ Compile SDK Update: Updated compile SDK to API 35 ensuring compatibility with the latest Android features

β€’ Material Design 3 Integration: Updated to Material Components 1.13.0 for modern Material You design language support

β€’ CameraX Updates: Enhanced camera functionality with CameraX 1.5.1 for improved stability and performance

πŸ”„ SDK & Dependency Updates:

β€’ Zebra AI Vision SDK 3.1.4: Updated from 3.0.5 to 3.1.4 for latest AI detection improvements and bug fixes

β€’ Dynamic Version Display: About screen now automatically reflects dependency versions from libs.versions.toml:

  • No more hardcoded version strings
  • Single source of truth for all dependency versions
  • BuildConfig fields generated from version catalog

β€’ Updated Dependencies:

  • CameraX: 1.5.1 (improved camera stability)
  • Material Components: 1.13.0 (Material Design 3)
  • Gson: 2.13.2 (JSON parsing improvements)
  • Android Gradle Plugin: 8.13.0 (latest build tools)

🌐 New Web Server Deployment Option:

β€’ XAMPP Installation Support: Alternative deployment method for environments without Docker:

  • XAMPP Quick Install: Pre-configured archive for instant setup - just extract and run
  • Automated Scripts: One-click deployment with xampp_start_server.bat
  • Flexible Installation: Supports both C:\xampp and D:\xampp with automatic detection
  • No Admin Rights Required: Portable installation option for restricted environments
  • Full Feature Parity: Complete web management system without Docker dependency

β€’ Enhanced Database Initialization: Improved database setup with verification and automatic schema creation

β€’ Smart Path Detection: Scripts automatically detect XAMPP location (C: or D: drive) without manual configuration

β€’ Comprehensive Documentation: Complete XAMPP installation guide with troubleshooting and best practices

β€’ Updated Build Configuration: Enhanced build.gradle.kts with BuildConfig fields for dynamic version management

β€’ Improved About Screen: Displays real-time dependency versions from version catalog

πŸ’‘ Benefits:

β€’ Latest Platform Support: Access to Android 15 features and security improvements β€’ Modern UI: Professional appearance with Material Design 3 β€’ Better Code Quality: Reduced duplication and improved maintainability β€’ Flexible Deployment: Choose between Docker or XAMPP based on your environment β€’ Simplified Maintenance: Centralized version management and automated updates β€’ Enhanced User Experience: Consistent navigation and visual design across all screens


πŸ“š 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

β€’ πŸ–₯️ XAMPP Installation Guide: NEW comprehensive guide for Docker-free deployment

  • Method 0: XAMPP Quick Install - Fastest setup via pre-configured 7z archive
  • Automated installation scripts
  • Manual step-by-step configuration
  • Supports C:\xampp or D:\xampp with auto-detection
  • Detailed troubleshooting section

πŸ“‹ 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
Docker Installation Docker-based deployment (recommended)
XAMPP Installation Docker-free deployment with XAMPP
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.1.4 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
  • Flexible Deployment Options: Production-ready deployment via Docker (containerized) or XAMPP (standalone) 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.5 - 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
  • DataWedge Intent Wrapper: 14.10 - Simplifies the setup of DataWedge for barcode scanning in the Settings Activity DataWedgeIntentWrapper 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 62.1%
  • JavaScript 11.0%
  • PHP 7.9%
  • Batchfile 7.8%
  • Shell 4.7%
  • CSS 3.9%
  • Other 2.6%