Flutter

Anlegen eines neue Projektes in Android Studio

Wählen Sie im Android Studio den Menupunkt “Create new Flutter Project”.
Zunächst möchten wir eine Flutter App entwickeln. Fügen Sie alle notwendigen Informationen zu Ihrem neuen Projekt ein.
Wir wählen als Android Language “Java” und als iOS Language “Objective-C”.

Installieren von CaptureID

Wechseln Sie innerhalb ihres Projekts ins Terminal und führen folgenden Befehl aus:

				
					flutter pub add flutter_cidscan
				
			

Sobald dies erfolgreich abgeschlossen ist müssen wir zunächst das CaptureID Plugin auch in unserer Anwendung unterbringen.
Wir wählen hierzu in unserem Beispiel die main.dart und fügen folgendes im Code hinzu:

				
					import 'dart:async';
import 'package:flutter_cidscan/flutter_cidscan.dart';
				
			

Nachfolgend noch das erstellen und aufrufen von CaptureID Funktionen:

				
					class _MyAppState extends State<MyApp> {

  @override
  void initState() {
    super.initState();
  }

  void handleLicenseEvent(Map event) async {
    if(event["body"]["FunctionName"].compareTo('onActivationResult') == 0) {
      String value = await FlutterCidscan.decoderVersion();
      print(value);
      startScanner();
    }
  }

  void handleInit(Map event) async {
    if(event["body"]["FunctionName"].compareTo('initCaptureID') == 0) {
      FlutterCidscan.activateEDKLicense(
        'ZzpC8qfZpYu3Z1hP0mAcb/ux1aCN71JxhT4VaDCNwC88IQ8kyFemwLsZbHDj5XWcKOcAPBb4KTfqUyILjaiMAP8xAANifrfIzFnC9q7pQR+W7llyV7OYN7eCgtVOs7zaHAaQtrHJ16zaALBnVHA2CnyRQwI0Ogc8qBvXSijGRMC9BtKBSCWFsxN4JWtbCBhUxQb8Qrp66DumE6BEukGu5iseafgbTHSm9qQpGURzX2K1xjL0MubHtyomYSdG98G4qzaQ2ZAHq7Z8H1WLRoBOhBJM9si+KqN3lr7ALNRCddlNwxvQE/4Y0R5HX7OhGKEF0jSjI84UjHtPe5+mACDxlsRuooCRC/Y3EYyFgilIxZyReWW2fmsyMYIOgA5VPSFGgtiKsekMwQavFvjzNYj/RQ==',
        'P4I082220190001').listen((event) => { handleLicenseEvent(event) });
    }
  }

  void startScanner() {
    FlutterCidscan.enableAllDecoders(true);
    FlutterCidscan.startCameraPreview();
    FlutterCidscan.startDecoding().listen((event) => { handleDecode(event) });
  }

  void restartScanner() {
    FlutterCidscan.startCameraPreview();
    FlutterCidscan.startDecoding().listen((event) => { handleDecode(event) });
  }

  void handleDecode(Map event) {
    print(event);
    if(event["body"]["FunctionName"].compareTo('receivedDecodedData') == 0) {
      FlutterCidscan.stopDecoding();
      FlutterCidscan.stopCameraPreview();
    }
  }

  Future<void> init() async {
    FlutterCidscan.initCaptureID('Wir benötigen die Kamera Berechtigung zum Scannen der Barcodes', false, true).listen((event) => { handleInit(event) });
  }
				
			

Als letztes müssen wir nur die Funktionen noch aufrufen, hierzu können verschiedene Wege genutzt werden. Wir benutzen in unserem Beispiel einen FlatButton:

				
					           children: <Widget>[
              Row(
                children: <Widget> [FlatButton(
                  color: Colors.blue,
                  textColor: Colors.white,
                  padding: EdgeInsets.all(8.0),
                  splashColor: Colors.blueAccent,
                  onPressed: () {init();},
                  child: Text(
                    "Start Scan",
                    style: TextStyle(fontSize: 20.0),
                  ),
                )],
              ),
				
			

Und um die Kameravorschau zu starten rufen wir:

				
					            children: <Widget>[
              Row(
                children: <Widget> [FlatButton(
                  color: Colors.blue,
                  textColor: Colors.white,
                  padding: EdgeInsets.all(8.0),
                  splashColor: Colors.blueAccent,
                  onPressed: () {startScanner();},
                  child: Text(
                    "Start Scan",
                    style: TextStyle(fontSize: 20.0),
                  ),
                )],
              ),
				
			

Unsere ersten Schritte mit Flutter sind absolviert. Flutter_Cidscan ist unter pub.dev zu finden.

Was this article helpful?

next article

React Native