Do somthings

DoSomthings logo
Barcode scanner / QR Code Scanner in Flutter gif(dosomthings).gif

hey, there guys I believe everything is in order, In this article will teach you how to implement a barcode scanner or QR code scanner in Flutter in a simple way.

In many applications, scanning with a mobile device is the simplest way to send and receive data from barcodes that can be read by a camera. You can’t go beyond using standardized barcodes if you think people would use your application to quickly interpret information from the outside. They have been there for a long enough period of time to be able to perceive informational nuggets without the risk of inaccuracy or misinterpretation. Most applications use to barcodes and QR codes to scan product data, send money to someone, save information in QR code format, and so forth. We’ll use QR codes to store text, SMS, URLs, phone numbers, images, and a variety of other formats.

So we are learning how to implement a barcode scanner and QR code scanner in Flutter in this tutorial. To accomplish this feature, we get a package called flutter_barcode_scanner available in pub.dev.

via GIPHY

Introduction:

Machine-readable codes are addressed externally as numbers and equal lines by barcode scanners. At this stage, when scanned by a laser beam emission barcode scanner, these symbols produce a spectacular computerized digital code. To identify and recognize products, barcode scanners are attached to and linked to them.

Methods

In order to achieve functionality, we have to important two methods in this package πŸ‘‡πŸ‘‡πŸ‘‡.

  1. scanBarcode(..)
  2. getBarcodeStreamReceiver(..)
static Future<String> scanBarcode(String lineColor, String cancelButtonText,
    bool isShowFlashIcon, ScanMode scanMode

The camera is used to scan the barcode / QR code for identification. It will return the result as a String.

  • String lineColor: This property allows us to provide a color to a scan line within a scan window.
  • String cancelButtonText: This property allows us to specify a string to cancel an action.
  • bool isShowFlashIcon: If it is a truth, then the Flash icon will appear on a screen, and otherwise not.
  • ScanMode: We can use this property to control the scan mode. [QR, BARCODE, DEFAULT] mods are available here.

Basic implementation of Barcode Scanner / QR Code Scanner

Step 1: Open/Create a new project in Flutter and implement a new package from pub.dev.

dependencies:
  flutter_barcode_scanner: ^2.0.0

Open a pubspec.yaml file and put this code under the dependencies and but so then press the pub get button and wait to implement the package.

Step 2: put this code into your main.dart file

import 'dart:async';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_barcode_scanner/flutter_barcode_scanner.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _scanBarcode = 'Unknown';
  bool scanData = false;

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

  Future<void> startBarcodeScanStream() async {
    FlutterBarcodeScanner.getBarcodeStreamReceiver(
        '#ff6666', 'Cancel', true, ScanMode.BARCODE)!
        .listen((barcode) => print(barcode));
  }

  Future<void> scanQR() async {
    String barcodeScanRes;
    try {
      barcodeScanRes = await FlutterBarcodeScanner.scanBarcode(
          '#ff6666', 'Cancel', true, ScanMode.QR);
      print(barcodeScanRes);
    } on PlatformException {
      barcodeScanRes = 'Failed to get platform version.';
    }
//barcode scanner flutter ant
    setState(() {
      _scanBarcode = barcodeScanRes;
    });
  }

  Future<void> scanBarcodeNormal() async {
    String barcodeScanRes;
    try {
      barcodeScanRes = await FlutterBarcodeScanner.scanBarcode(
          '#ff6666', 'Cancel', true, ScanMode.BARCODE);
      print(barcodeScanRes);
    } on PlatformException {
      barcodeScanRes = 'Failed to get platform version.';
    }

    if (!mounted) return;
    setState(() {
      _scanBarcode = barcodeScanRes;
    });
  }
//barcode scanner flutter ant
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        debugShowCheckedModeBanner: false,
        home: Scaffold(
            appBar: AppBar(title: const Text('Barcode Scanner',style: TextStyle(fontWeight: FontWeight.bold,fontSize: 20,),),centerTitle: true,),
            body: Builder(builder: (BuildContext context) {
              return Container(
                  alignment: Alignment.center,
                  child: Flex(
                      direction: Axis.vertical,
                      mainAxisAlignment: MainAxisAlignment.center,
                      children: <Widget>[
                        ElevatedButton(
                            onPressed: () => scanBarcodeNormal(),
                            child: const Text('Barcode scan')),
                        ElevatedButton(
                            onPressed: () => scanQR(),
                            child: const Text('QR scan')),
                        ElevatedButton(
                            onPressed: () => startBarcodeScanStream(),
                            child: const Text('Barcode scan stream')),
                        Visibility(
                          visible: _scanBarcode == "Unknown" ? false : true,
                          child: Text('Scan result : $_scanBarcode\n',
                              style: const TextStyle(fontSize: 20)),
                        )
                      ]));
            })));
  }
}

Output:

Barcode scanner / QR Code Scanner in Flutter1(dosomthings).jpg
Barcode scanner / QR Code Scanner in Flutter2(dosomthings).jpg
Barcode scanner / QR Code Scanner in Flutter3(dosomthings).jpg

Conclusion:

I’ve shown how to integrate the fundamentals of a barcode scanner in this article; you can change the code to suit your preferences. This was a brief introduction from my end to the barcode scanner on user interaction, which utilizes Flutter to function.

I’m hoping that this post will give you all the knowledge you need to successfully use the barcode scanner in your Flutter projects and We’ll demonstrate what the Introduction is to you. Use the flutter barcode scanner package in your flutter applications to create a functioning barcode scanner demo program Please give it a try.

❀️❀️ Thanks for reading this article ❀️❀️

If I got something wrong? Let me know in the comments. I would love to improve πŸ₯°πŸ₯°πŸ₯°.

Clap πŸ‘πŸ‘πŸ‘ If this article helps you.

if you like our work so please follow us on this Dosomthings

My new and attractive articles:  Flip/Rotate 3D Image Object By Drag Gestures Flipping Card, How to implement Login Interactive Form with Rive Animation, How to create scratch card in flutter using a scratcher package.