Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android - Barcode Scanning, Options? Zxing?

Tags:

I want to create an application for Android that will be able to scan barcodes, get the information contained within the barcode and then be able to use that information in some way.

I have no idea how to create a barcode scanner so I went Googling and it seems Zxing is the most commonly used way to implement a barcode scanner in an app.

Some Links:


http://code.google.com/p/zxing/

http://awalkingcity.com/blog/2008/08/25/qr-codes-made-easy-in-android/

Using ZXing to create an android barcode scanning app


However the samples I found on zxing involved having to prompt the user to go to the market and install the zxing barcode scanner so that my app can then call the barcode scanner when its needed and the barcode scanner will then return the info to my app.

While this would be a good starting point for me I was wondering is there any other options that would allow me to have a barcode scanner embedded in my own application without having to prompt the user to download a secondary application?

like image 486
Donal Rafferty Avatar asked Apr 09 '10 13:04

Donal Rafferty


People also ask

How do I scan a barcode with Zxing Android?

On click of button_scan_qr_code , CaptureActivity will start scanning using default camera. Once it scans any QR code, it sends back the result to onActivityResult the MainActivity . ZXing also provides online QR Code Generator. Enter the required fields, generate and scan it to get the results.

How do I enable scanning barcodes on Android?

Go to Settings. Select System Apps. Tap on Camera. Then toggle to enable Scan QR codes.


4 Answers

Developer here. I think you're going to want to just integrate via Intent in the end. You get the improvements, bug fixes, and platform-specific workarounds for free. It's much less code too. But I understand you're asking for an alternative.

You probably want to strip down Barcode Scanner (whose source is in android/ in the project) and strip out everything you don't need. That means leave only about the com.google.zxing.client.android and com.google.zxing.client.android.camera packages. The core decoding is in DecodeThread, but the other code in these packages implements the little callback dance that does the continuous scanning and gets the usual scanning UI.

If you embed the code you need to follow the terms of the Apache License.

like image 145
Sean Owen Avatar answered Oct 21 '22 13:10

Sean Owen


Download and extend the Zxing "Barcode Scanner" app by adding your own code. It's under an Apache 2.0 License.

like image 31
Chris K Avatar answered Oct 21 '22 12:10

Chris K


The Google Mobile Vision is deprecated and replaced with ML Kit. https://developers.google.com/ml-kit/vision/barcode-scanning It provides sdks on both android and iOS and is getting actively improved with the latest google technology. For android, it provides sdks that can bundle the model and also provides SDK that can fetch model from Google play service automatically if you want to save your app's size.

like image 30
Chenxi Song Avatar answered Oct 21 '22 11:10

Chenxi Song


Check out the new Google Play Services 7.8 API that includes Barcode tracking: https://developers.google.com/vision/barcodes-overview

like image 32
Scott Avatar answered Oct 21 '22 12:10

Scott