Android - Barcode-Scanning, Optionen? ZXing?
-
25-09-2019 - |
Frage
Ich möchte eine Anwendung für Android zu erstellen, die Scan-Barcodes der Lage sein wird, die Informationen erhalten, im Barcode enthaltenen und dann in der Lage sein, diese Informationen in irgendeiner Weise zu verwenden.
Ich habe keine Ahnung, wie man einen Barcode-Scanner zu schaffen, damit ich googeln ging und es scheint ZXing ist die am häufigsten verwendeten Art und Weise einen Barcode-Scanner in einer App zu implementieren.
Einige Links:
http://code.google.com/p/zxing/
http: // awalkingcity. com / blog / 2008/08/25 / QR-Codes-made-easy-in-android /
ZXing Mit einem Android Barcode-Scanning-App
Doch die Proben fand ich auf ZXing beteiligt, die den Benutzer aufzufordern, auf den Markt zu gehen und den ZXing Barcode-Scanner installieren, so dass meine App dann den Barcode-Scanner aufrufen kann, wenn es gebraucht wird und der Barcode-Scanner wird dann wieder die Info meine app.
Während dies wäre eine gute für mich Ausgangspunkt Ich frage mich, ist es noch andere Optionen, die mir erlauben würde, einen Barcode-Scanner in meiner eigenen Anwendung eingebettet zu haben, ohne den Benutzer aufzufordern, eine sekundäre Anwendung herunterladen?
Lösung
Entwickler hier. Ich glaube, Sie gehen zu wollen, nur über Intent integriert am Ende. Sie erhalten die Verbesserungen, Fehlerbehebungen und plattformspezifische Abhilfen kostenlos. Es ist viel zu weniger Code. Aber ich verstehe Sie nach einer Alternative sind zu fragen.
Sie wollen wahrscheinlich Barcode Scanner auszuziehen (deren Quelle in android / im Projekt) und Streifen aus alles, was Sie nicht brauchen. Das bedeutet, dass nur verlassen, um die com.google.zxing.client.android
und com.google.zxing.client.android.camera
Pakete. Die Kern-Decodierung ist in DecodeThread
, aber der anderen Code in diesen Paketen implementiert den kleine Callback-Tanz, der die kontinuierliche Abtastung tut und bekommt den üblichen Scan-UI.
Wenn Sie den Code einbetten müssen Sie die Bedingungen der Apache-Lizenz folgen .
Andere Tipps
Download und verlängert die ZXing "Barcode Scanner" App von Ihrem eigenen Code hinzufügen. Es ist unter einer Apache-2.0-Lizenz.
Überprüfen Sie die neue Google Play Services 7.8 API aus, die Barcode-Tracking beinhaltet: https: // Entwickler. google.com/vision/barcodes-overview
Ich würde vorschlagen, Sie ZXing durch Absichten und Umleitung auf Android Market Seite ("market://details?id=com.google.zxing.client.android"
) verwenden, wenn er nicht da ist (Fang ActivityNotFoundException
). Intents sind für inter-App-Kommunikation wie diese.
Ich habe es mit dieser Arbeit:
repositories { mavenCentral()
maven { url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/" }
}
compile 'com.google.zxing:core:3.2.1'
compile 'com.embarkmobile:zxing-android-minimal:2.0.0@aar'
compile 'com.embarkmobile:zxing-android-integration:2.0.0@aar'
Ich empfehle mit dem IntentIntegrator
IntentIntegrator integrator = new IntentIntegrator(getActivity());
integrator.forSupportFragment(this).initiateScan();
Die requestCode kommt zurück mit
IntentIntegrator.REQUEST_CODE
Keine Notwendigkeit, einen separaten Scanner
installierenIch empfehle Barcode-Scan zur Verwendung von Google. Es ist ziemlich reaktionsschnell. Es heißt Google Mobile Vision.
Der Barcode Scanner API erkennt Barcodes in Echtzeit in jedem Orientierung. Sie können auch mehrere Barcodes in erfassen und analysieren verschiedene Formate zur gleichen Zeit.
https://developers.google.com/vision/
https://codelabs.developers.google.com/codelabs/ Bar-Codes / # 0