2010-02-10 12 views
34

Hallo Ich entwickle eine Anwendung für den androiden HTC Hero. Ich suche nach Möglichkeiten, den eingebauten camer zu verwenden, um 2D-Barcodes zu lesen und die vom Barcode zurückgegebene Zeichenkette zu extrahieren. Ich habe erst vor kurzem begonnen, mit dem Android SDK zu arbeiten, aber ich habe einen Programmierhintergrund von der Arbeit an Projekten mit Java. Ich bin gespannt, wie der 2D-Barcode am besten gelesen werden könnte. Ich habe einige Beispielanwendungen, die den Barcode lesen, aber sie sind alle .apk-Dateien und haben keine Quelle oder Bibliothek, mit der ich arbeiten kann. Um Ihnen eine bessere Vorstellung davon zu geben, was ich versuche, diese Seite zu erreichen, erlaubt die Erzeugung von 2d Barcodes, die von den gewünschten Daten bestehen hereLesen von Barcodes mit Android

Alle Antworten würden sehr geschätzt werden.

Antwort

37

Android Programme interagieren können mit ihnen Absichten verwenden. Intents sind ein wenig wie Remoteprozeduraufrufe: Sie fragen das andere Programm nach einer bestimmten Aktion (z. B. einen Barcode scannen) und das andere Programm führt diese Aufgabe für Sie durch. Das Ergebnis wird zurückgegeben, wenn die Aufgabe abgeschlossen ist.

Wenn der Benutzer den ZXing Barcode-Scanner installiert ist, können Sie nur eine Absicht verwenden, um einen Barcode zu scannen. Der Barcode-Scanner wird gestartet, der Benutzer kann den Code einscannen und das Ergebnis an Sie zurücksenden.

Weitere Informationen zu diesem Scanner kann auf der Google-Code-Seite des Projekts zu finden: http://code.google.com/p/zxing/wiki/ScanningViaIntent

+4

Und hier ist ein doc lesen, die erklärt, wie programmatisch für eine Aktivität zu testen, die eine handhaben kann Absicht: http://developer.android.com/resources/ articles/can-i-use-this-intent.html, und wenn Sie den Benutzer zum Herunterladen der Barcode Scanner App anweisen möchten, hat dieses Dokument einen Überblick über die zu verwendenden URIs: http://developer.android.com/ guide/publishing/publishing.html # marktinhalt –

+15

Gibt es eine Möglichkeit, das Zxing in meine Android App zu integrieren, so dass die Benutzer den Zxing BarCode Scanner nicht separat installieren müssen? – AKh

+0

Ich möchte mit einem eingebauten G-Sensor scannen, keine Kamera verwenden. Zxing ist eine sehr nützliche Bibliothek, wenn wir mit der Telefonkamera scannen wollen. Ich verwende ein iData95E-Gerät, das integrierte Laserscanner bietet. Jeder kann mir dafür helfen. – patel

11

ich an diesem Open-Source-Android-Projekt aussehen würde: http://code.google.com/p/zxing/

+0

hatte ich überprüfen, aber wie kann ich diese api in meiner Anwendung intigrate möchte ich Barcode anc Rückgabewert in meine apps – CoronaPintu

-3

Soweit ich (aus dem Algorithmus auseinander) zum Dekodieren von Barcodes, die Sie benötigen, die (relative) Breiten wissen weiße und schwarze Balken. Dazu müssten Sie den Barcode in eine horizontale Position drehen und dann die Breiten erkennen.

(Ok, das ZXing Sachen von anderen beraten trifft dieses Handbuch Hacking)

+4

zu bauen, die nicht notwendig ist : Solange Sie eine horizontale Linie durch alle Balken ziehen können, muss der Barcode nicht horizontal sein - die Balken sind in absoluten Zahlen breiter, aber die relativen Breiten von Balken und Leerzeichen bleiben unverändert. Mit anderen Worten, Sie können selbst gedrehte oder verzerrte Barcodes korrekt scannen. – Piskvor

+0

@Piskvor: Großartiger Punkt! – ron