https://github.com/credntia/mvbarcodereader
A Barcode scanner library for Android. Uses the Google Play Services' mobile vision api for barcode detection.
https://github.com/credntia/mvbarcodereader
android barcode barcode-detection mobile-vision scanning-barcodes
Last synced: 10 months ago
JSON representation
A Barcode scanner library for Android. Uses the Google Play Services' mobile vision api for barcode detection.
- Host: GitHub
- URL: https://github.com/credntia/mvbarcodereader
- Owner: Credntia
- License: apache-2.0
- Created: 2016-09-11T14:00:12.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2018-05-09T14:10:31.000Z (about 8 years ago)
- Last Synced: 2025-03-27T14:55:49.044Z (about 1 year ago)
- Topics: android, barcode, barcode-detection, mobile-vision, scanning-barcodes
- Language: Java
- Homepage:
- Size: 214 KB
- Stars: 68
- Watchers: 7
- Forks: 22
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MVBarcodeReader
[  ](https://bintray.com/iammehedi/MVBarcodeReader/online.devliving%3Amvbarcodereader/_latestVersion)
[](http://android-arsenal.com/details/1/4457)
A Barcode scanning library for Android. Uses the Google Play Services' mobile vision api for barcode detection.
## Setup
### Maven
```xml
online.devliving
mvbarcodereader
LATEST_VERSION
pom
```
### Gradle
```groovy
compile 'online.devliving:mvbarcodereader:LATEST_VERSION'
```
Add following dependencies to your app's gradle file
```groovy
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.google.android.gms:play-services-basement:11.0.1'
compile 'com.google.android.gms:play-services-vision:11.0.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:support-annotations:25.3.1'
```
## Usage
### Scanning Modes
- `SINGLE_AUTO`: The fastest mode. Returns the first barcode it can detect as soon as possible.
- `SINGLE_MANUAL`: Detects and highlights all the barcode it can find but returns only the one that user chooses by tapping.
- `MULTIPLE`: Detects and highlights all the barcode it can find. Returns all the barcodes on tap.
### Barcode Types
You can view [this link](https://developers.google.com/vision/barcodes-overview) for a list of supported barcode formats.
### Use the standalone scanner
launch the scanner from your `Activity` like this:
```java
new MVBarcodeScanner.Builder()
.setScanningMode(mMode)
.setFormats(mFormats)
.build()
.launchScanner(this, REQ_CODE);
```
You'll receive the scanned barcode/barcodes in your Activity's `onActivityResult`
```java
if (requestCode == REQ_CODE) {
if (resultCode == RESULT_OK && data != null
&& data.getExtras() != null) {
if (data.getExtras().containsKey(MVBarcodeScanner.BarcodeObject)) {
Barcode mBarcode = data.getParcelableExtra(MVBarcodeScanner.BarcodeObject);
} else if (data.getExtras().containsKey(MVBarcodeScanner.BarcodeObjects)) {
List mBarcodes = data.getParcelableArrayListExtra(MVBarcodeScanner.BarcodeObjects);
}
}
}
```
### Use the scanner fragment
You can use the `BarcodeCaptureFragment` to scan barcodes. Just add the fragment to your `Activity`
```java
MVBarcodeScanner.ScanningMode mode = null;
@MVBarcodeScanner.BarCodeFormat int[] formats = null;
BarcodeCaptureFragment fragment = BarcodeCaptureFragment.instantiate(mode, formats);
getSupportFragmentManager().beginTransaction()
.add(R.id.container, fragment)
.commit();
```
Then make the the `Activity` implement the `BarcodeCaptureFragment.BarcodeScanningListener` so that you can receive results from the fragment or you can set the listener directly to the fragment
```java
fragment.setListener(new BarcodeCaptureFragment.BarcodeScanningListener() {
@Override
public void onBarcodeScanned(Barcode barcode) {
}
@Override
public void onBarcodesScanned(List barcodes) {
}
@Override
public void onBarcodeScanningFailed(String reason) {
}
});
```