Ich schreibe dies in bloßer Verzweiflung :) Ich wurde beauftragt, einen eigenständigen Barcode-Scanner (als Proof of Concept) für ein Android 1.6-Telefon zu erstellen.
Dafür habe ich die ZXing-Bibliothek entdeckt.
Ich habe gegoogelt, verwandte Themen hier auf StackOverflow gelesen, verwendet allgemeinen Sinn und so weiter. Nichts schien geholfen zu haben, und ich kann einfach kein Loch in diese Mentale-Blockade schlagen: /
Ich weiß, dass es möglich ist, die Bibliothek zu verwenden und Ihren eigenen eigenständigen Barcode-Scanner zu erstellen. Ich habe gelesen, dass die Verwendung des von den Zxing-Leuten bereitgestellten "Barcode-Scanners" bei weitem die einfachste Lösung ist (über Intent). Leider ist dies keine Option und eine eigenständige App ist erwünscht.
Um mein Problem zusammenzufassen:
- Wie kann ich ZXing Source Lib über Eclipse in mein Android Code-Projekt integrieren?
- Wenn integriert ... wie kann man die Bibliothek nutzen, um die Scanfunktion zu "laden"?
- Eine Schritt-für-Schritt-Anleitung wird fast bevorzugt, da ich gerade angefangen habe, in Eclipse zu arbeiten.
Ich habe versucht, mein Codeprojekt vom Android-Ordner des ZXing-Quellordners abhängig zu machen. Wenn ich das tue, tauchen eine Handvoll Fehler auf, hauptsächlich in Bezug auf 'org.apache' (??)
Ich kann es einfach nicht herausfinden ... also wären ein paar Hinweise am hilfreichsten.
Im Voraus danke :)
quelle
Antworten:
AKTUALISIEREN! - Gelöst + Leitfaden
Ich habe es geschafft, es herauszufinden :) Und unten können Sie eine Schritt-für-Schritt-Anleitung lesen, damit sie hoffentlich anderen bei dem gleichen Problem helfen kann, das ich hatte;)
zxing src
.ant -f core/build.xml
die Eingabetaste ein und lassen Sie Apache arbeiten. Es ist magisch [ Probleme? ]]core.jar
... drücken Sie die Eingabetaste!Jetzt müssen Sie nur noch ein paar Fehler in den Übersetzungen und in der Datei AndroidManifest.xml korrigieren :) Jetzt können Sie problemlos kompilieren und haben jetzt eine funktionierende eigenständige Barcode-Scanner-App, die auf der ZXing-Quelle basiert;)
Happy Coding Jungs - ich hoffe es kann anderen helfen :)
quelle
AndroidManifest.xml
Datei bearbeitet haben ? Ich sehe bei der Prüfung keine Fehler in dieser Datei. Vielen Dank!Hier finden Sie eine schrittweise Anleitung zum Generieren und Anzeigen von QR-Code mithilfe der ZXing-Bibliothek, ohne die Drittanbieteranwendung installieren zu müssen. Hinweis: Sie müssen ZXing nicht mit ANT oder einem anderen Build-Tool erstellen. Die Datei
core.jar
ist im freigegebenen Zip-Archiv verfügbar (siehe unten).ZXing-*.zip
)core.jar
untercore/
Verzeichnis.core.jar
in daslibs
Verzeichnis Ihres Android-Projekts. Wenn Sie dazu aufgefordert werden, wählen Sie Kopieren .Contents.java
&QRCodeEncoder.java
) in das Hauptpaket Ihres Android-Projekts.ImageView
Element in Ihrer Aktivität, um den generierten QR-Code anzuzeigen, falls Sie noch keinen haben. Ein Beispiel ist unten angegeben:ImageView
.Hier ist ein
ImageView
Element, das Sie Ihrer XML-Datei für das Aktivitätslayout hinzufügen können:Code-Auszug:
Hier ist
Contents.java
Und
QRCodeEncoder.java
quelle
Das
hat bei mir leider nicht funktioniert.
Das hat bei mir funktioniert:
Den Link finden Sie hier: https://github.com/journeyapps/zxing-android-embedded
quelle
Haben Sie Probleme mit ANT? Weiter lesen
Wenn
ant -f core/build.xml
so etwas sagt wie:Setzen Sie dann Ihre
JAVA_HOME
Umgebungsvariable auf den richtigen Java-Ordner. Ich habe tools.jar in meinem (für Windows) gefunden:Also stellte ich meine
JAVA_HOME
auf:Der Grund für die kürzere Syntax, die ich an einer Stelle gefunden habe, die besagt:
Ich habe dann cmd neu gestartet (wichtig, da die DOS-Shell beim Starten nur env-Variablen liest. Wenn Sie also eine env-Variable ändern, müssen Sie eine neue Shell verwenden, um den aktualisierten Wert zu erhalten.)
und schließlich hat das
ant -f core/build.xml
funktioniert.quelle
Da einige der Antworten veraltet sind, möchte ich meine eigenen angeben -
Um die ZXing-Bibliothek wie vom Wiki vorgeschlagen in Ihre Android-App zu integrieren , müssen Sie Ihrem Projekt zwei Java-Dateien hinzufügen:
Fügen Sie dann in Android Studio die folgende Zeile zur Datei build.gradle hinzu :
Wenn Sie Eclipse weiterhin mit dem ADT-Plugin verwenden, fügen Sie die Datei core.jar zum Unterverzeichnis libs Ihres Projekts hinzu (hier Vollbild-Windows und Vollbild-Mac ):
Fügen Sie diesen Code schließlich zu Ihrer MainActivity.java hinzu :
Die resultierende App fordert Sie auf, die Barcode-Scanner-App von ZXing zu installieren und zu starten (die nach dem Scannen automatisch zu Ihrer App zurückkehrt):
Wenn Sie außerdem die ZXing Test-App als Inspiration für Ihre eigene App erstellen und ausführen möchten :
Dann benötigen Sie 4 Java-Dateien von GitHub :
Und 3 Jar-Dateien aus dem Maven-Repository :
(Sie können die JAR - Dateien erstellen , sich mit
mvn package
- wenn Ihr Check - out ZXing von GitHub und installieren ant und maven Tools auf Ihrem Computer).Hinweis: Wenn Ihr Projekt die Jar-Dateien nicht erkennt, müssen Sie möglicherweise die Java-Version in den Projekteigenschaften aktualisieren:
quelle
Stellen
in Ihre Gradle-Abhängigkeiten. So einfach ist das. Vor der Verwendung von Android Studio und Gradle Build System.
quelle
Hast du die Wiki-Seiten auf der zxing-Website gesehen? Es scheint, dass Sie GettingStarted , DeveloperNotes und ScanningViaIntent hilfreich finden.
quelle
Wenn Sie nur die Datei core.jar von zxing benötigen, können Sie diesen Vorgang überspringen und die vorgefertigten JARs von der GettingStarted-Wiki-Seite abrufen
Das neueste ZXing (2.2) hat nicht die Datei core.jar im Kernordner, aber Sie können die Datei core.jar aus dem zxing Maven-Repository hier herunterladen
quelle
Schritt für Schritt, um zxing 3.2.1 in Eclipse einzurichten
quelle
Ich habe alle möglichen Wege ausprobiert, um dies zu erreichen, und dann die Minified-Version von xZing von JourneyApps entdeckt. Ich habe das für Eclipse portiert und auf GitHub geteilt.
Wenn Sie Eclipse verwenden, verwenden Sie dieses Projekt: -
https://github.com/hiteshsahu/XZing-Barcode-Scanner-Minified-Eclipse
Wenn Sie Studio verwenden, verwenden Sie dieses Projekt: -
https://github.com/journeyapps/zxing-android-embedded
Vorteile
Der in Ihrer App integrierte Barcode-Scanner ist nicht erforderlich, um Apps von Drittanbietern über den Playstore zu installieren.
Sie müssen nicht zwischen Core-, Android-Client- usw. Gläsern verwechselt werden. Legen Sie einfach diese Pakete ab und legen Sie Layouts in Ihrem Projekt fest, und schon kann es losgehen. Nur Jar erforderlich ist com.google.zxing: core: 3.2.0, von dem Sie herunterladen können
http://mvnrepository.com/artifact/com.google.zxing/core/3.2.0
Keine Notwendigkeit, Tonnen von Paketen hinzuzufügen, siehe Bilder unten zum Vergleich
Vor :-
Nach dem :-
Der wichtigste Teil ist, dass sie hochgradig anpassbar sind, dh. Sie können Blitzlicht hinzufügen, es in Fragmenten verwenden und die Änderung der Ausrichtung unterstützen.
Sie können diese Capture-Aktivität in der Cordova App zum Scannen von Barcodes verwenden.
Ihre Erfassungsaktivität im App-Manifest würde folgendermaßen aussehen
und Plugin wird so aussehen
Glückliche Integration !!
quelle
Die zxing-Leute haben es einfacher gemacht, ein Android-Projekt mit 1.7 zu erstellen. Es ist nicht mehr so schmerzhaft wie früher. Dies ist ein kurzer Blog für alle, die schnell ein zxing-Projekt für Android erstellen möchten.
Ein Android-Projekt für zxing 1.7 (20. Juni Checkout).
http://www.4shared.com/file/bFx8Y5Ys/zXingJune2010.html( NICHT MEHR VERFÜGBAR )quelle
Warum eine externe Bibliothek verwenden, wenn Google Play Services (seit Version 7.8.0 ) einen Barcode-Decoder enthält ?
quelle
Ich schrieb eine Methode, die Bar-Codes erzeugt decodiert,
Bitmap
aufString
.Es macht genau das, was angefordert wird, nur ohne die
CaptureActivity
...Daher kann man die
android-integration
Bibliothek überspringen inbuild.gradle
:Die folgende Methode (die tatsächlich generierte Barcodes innerhalb eines jUnit-Tests decodiert):
quelle
Diese Bibliothek wirkt wie ein Zauber, einfach zu integrieren und zu verwenden. https://github.com/dm77/barcodescanner
quelle
Ich habe vor kurzem Google Mobile Vision sowohl in iOS als auch in Android verwendet. Ich empfehle dringend, Google Barcode Scan zu verwenden. Es reagiert bei jeder Ausrichtung sehr schnell und die Verarbeitungszeit ist ziemlich schnell. Es heißt Google Mobile Vision.
https://developers.google.com/vision/
https://codelabs.developers.google.com/codelabs/bar-codes/#0
quelle
Viel einfacher Ansatz.
Fügen Sie einfach die Abhängigkeit in Ihre Gradle-Datei auf App-Ebene ein
Definieren Sie eine Schaltfläche in Ihrer XML-Datei und schreiben Sie den folgenden Code in die Java-Datei in OnCreate () und in den OnClick-Listener von button
Und schreiben Sie den folgenden Code nach OnCreate () der Java-Datei
quelle
st_scanned_result
ist hier nicht definiert2020 UPDATE: Fügen Sie dies einfach Ihrer Gradle-Datei hinzu. Es funktioniert perfekt!
quelle