Barcode scannen in eigener Android App

March 16th, 2010 by author Leave a reply »

Wenn man in seiner Android-Applikation einen Barcode (oder QR-Code) scannen will, kann man auf das Zebra Crossing (ZXing) – Projekt von Google zurückgreifen. Die Integration in die eigene Anwendung ist mit ein paar Codezeilen erledigt.

Voraussetzung

Auf dem Handy (oder Emulator) muss die Anwendung selbst installiert sein. ZXing findet man als APK unter Downloads oder im Market, wenn man auf einem richtigen Handy entwickelt. Entwickelt man im Emulator, so lädt man sich das APK herunter und installiert es mit der Android Debug Bridge (adb) mittels

adb install BarcodeScanner3.2.apk

Nutzung

Will man den Komfort genießen, dass ein Installationsdialog kommt, wenn ZXing auf dem Zielsystem noch nicht vorhanden ist, dann sollte man den IntentIntegrator des Projektes nutzen (und auch das IntentResult als Abhängigkeit). Auf unserem Layout gibt es lediglich einen Button mit dem Namen ScanButton, um das Beispiel zu vereinfachen.

public class ScanActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.scan);
        registerButtonHandler();
    }
    
    private void registerButtonHandler() {
        // Capture our button from layout
        Button button = (Button)findViewById(R.id.ScanButton);
        // Register the onClick listener with the implementation above
        button.setOnClickListener(new ScanButtonClickListener());
    }    
    
    class ScanButtonClickListener implements OnClickListener {
    	@Override
    	public void onClick(View v) {
    		IntentIntegrator.initiateScan(ScanActivity.this);
    	}
    }  
    
    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    	IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
    	if (scanResult != null) {
    	    // Tue etwas mit dem Resultat.
    	} 
    }    
}

In 28 Zeilen hat man so sein Android-Phone dazu gebracht Barcodes/QR-Codes einzuscannen und kann Sie entsprechend verarbeiten.



VN:F [1.9.22_1171]
Rating: 7.3/10 (4 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)
Barcode scannen in eigener Android App, 7.3 out of 10 based on 4 ratings
Advertisement

2 comments

  1. LTG Headii says:

    Hi, ich weiß dein Post ist alt aber ich bin android anfänger und habe noch eine Frage zu dem.
    Bei mir häng sich meine App immer auf nach dem Scan. muss ich irgendwas in das Android manifest schreiben?

    lg LTG headii

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  2. author says:

    Hallo,

    leider ist so eine Fernanalyse sehr schwer. Hilfreich ist auf jeden Fall das Kommando “adb logcat”, damit sieht man, was passiert. Dies ist sowohl remote auf über USB angeschlossene Handys möglich als auch mit dem Emulator.

    Bye,
    Helmut

    VN:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

Leave a Reply