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.
Schreibe einen Kommentar