Code Monkey home page Code Monkey logo

scannerx's Introduction

Introducing ScannerX! QR Code and Barcode Scanning with CameraX

Creating a QR code or barcode scanner was a tediuos task for developers as it required setting up lots of stuff related to Camera. Camera APIs have never been fun to work with. Traditional Camera APIs in Android are not reliable as they do not work for all the mobile phones universally.

But this is not the case anymore. With the latest library-bundle introduced as part of Android Jetpack - CameraX - we no longer need to worry about all the boilerplate code to setup camera preview and image analysis for scanning barcodes.

ScannerX App

ScannerCover

ScannerX app is a showcase of how the QR/Barcode scanner can be implemented with the use of CameraX libraries. It also focuses on the demonstrating how different scanner SDKs can be incorporated with CameraX.

CameraX + Barcode Scanning SDK = ScannerX

ScannerX features following barcode scanner SDKs:

  1. MLKit
  2. ZXing

You can pick which SDK you want to use for scanning from the app itself. This will also help you compare how both popular SDKs perform in various positions and distances.

Scanner Options Scanning Result

Other features of ScannerX includes:

  • A Square(ish) transparent viewfinder with semi-transparent overlay on top of camera preview (transparent hole in non-transparent layout)
  • Turn on/off torch for scanning even in dark
  • Show scanned code in modal bottom sheet on top of the the camera preview
  • Copy the scanned QR/Barcode

Improvements planned:

  1. Add animation for viewfinder.
  2. ScannerX scans entire camera frame for barcodes right now. We can add the feature to scan only the part of viewfinder. (transparent hole)
  3. Add more scanner SDKs. (Let me know if you know any!)
  4. Code Quality Improvements.

Your feedback and suggestions are most welcome!

References:

scannerx's People

Contributors

maulikhirani avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.