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.

Notifications You must be signed in to change notification settings

ltrudu/AI_MultiBarcodes_Capture

Repository files navigation

AI MultiBarcode Capture Application

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.

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.21

Advanced AI Configuration System with Dynamic Settings Management

Comprehensive AI and camera configuration capabilities with enterprise-grade managed configuration support:

Dynamic AI Configuration: Advanced settings for AI model input size (640x640 to 1600x1600) with performance optimization guidance
Camera Resolution Control: Multiple resolution options (1MP to 8MP) with specific use case recommendations for different barcode types
Inference Processor Selection: Choose between DSP (best), GPU, or CPU processing with automatic device capability detection
Enterprise Managed Configuration: Full EMM/MDM support with nested advanced settings bundle for centralized deployment
Real-time Configuration Updates: Settings changes automatically restart camera and AI components without app restart
Performance-Aware UI: Smart descriptions guide users to optimal settings based on their scanning requirements

The advanced configuration system provides granular control over AI performance and camera capabilities, enabling optimal barcode detection for different use cases while supporting enterprise deployment scenarios through comprehensive managed configuration integration.

📋 View Complete Changelog for previous versions and detailed release history.

🚀 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

  • 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

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 Session Data Editor Session Data Editor Row Swipe Left Barcode Quantity Editor

🏗️ 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 35): 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

  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 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

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.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages