Skip to content
This repository has been archived by the owner on Mar 8, 2024. It is now read-only.
/ KBarcode Public archive

A library to help implement barcode scanning

License

Notifications You must be signed in to change notification settings

brightec/KBarcode

Repository files navigation

KBarcode


⚠️ Signing key revoked

The key used to sign the maven central distributions for this library has been revoked. If you have issues importing them, we suggest either migrating to CameraX (see deprecation notice below) or importing the source code of this library directly into you project.


⚠️ Deprecated: This library is no longer maintained

This library was written before the first stable release of the CameraX library. It was intended to provide a thorough and high quality implementation of the camera2 APIs. Since the launch of CameraX and it's ongoing development, we would recommend using that library for a barcode scanning use case.

To help you migrate we already have an example of a CameraX implementation within the demo app included in this repo. See also CameraX section of our wiki





Maven Central

A library to help implement barcode scanning.





Why?

Another barcode library. Yawn.

We can understand why you may think that, but there are some key reasons we decided to write a new barcode library.

  • Quality We want this library to be a high quality production ready library.
  • Camera2 Many barcode libraries still use camera1 API's. These are now deprecated and although unlikely to be removed, you can get better performance and stability from camera2. You are also safe in the knowledge that Android will work to fix issues, and the library will have more longevity.
  • MLKit This library uses Google MLKit to process the frames and return barcodes. The Google team are committed to these API's and continue to work to improve them.
  • Tested We want this library to have tests. It's surprising how many don't.
  • Simple We want the implementation to be simple, but not try to hide away too much of the complexity of the task.

Download

implementation 'uk.co.brightec.kbarcode:kbarcode:$version'

Releases

See the releases section for details about each release and any migration steps required.

Releases requiring migration: 1.0.2, 1.0.3, 1.3.0

Releases with behaviour changes: 1.1.0, 1.2.3

Wiki

For a detailed look at the library and a full get started guide checkout the wiki

Community

We welcome community involvement with this library. We want this library to be useful for others, and of a high production quality.

Issues

Please do raise issues if you find problems with the library, sample or its documentation. We have provided a template to use.

Pull Requests

If you find an issue, why not try to fix it and create a pull request. We run CI checks on every pull request which must pass. To run these locally

./gradlew check connectedAndroidTest

This will run our code standards checks, lint, tests and instrumented tests.

If you're keen to help, why not fix someone else's issue.

Feature Requests

You can submit feature requests as issues. As mentioned above we want this library to be simple, high quality and production ready. We therefore may be selective about which features we wish to include in order to achieve these goals.

Before fully coding a feature, why not raise an issue to start a discussion with us.

License

See license

Author

Alistair Sykes - Github Medium Twitter

This library is maintained by the Brightec team