[flutter] - Flutter에서의 바코드 및 QR 코드 스캔 방법

바코드 및 QR 코드는 현대적인 비즈니스에 필요한 중요한 도구입니다. Flutter를 사용하면 모바일 앱에서 이러한 바코드 및 QR 코드를 스캔할 수 있습니다. 이번 글에서는 Flutter에서 바코드 및 QR 코드를 스캔하는 방법을 알아보겠습니다.

1. flutter_barcode_scanner 패키지 설치하기

먼저, Flutter에서 바코드 및 QR 코드 스캔을 지원하는 flutter_barcode_scanner 패키지를 설치해야 합니다. pubspec.yaml 파일에 아래와 같이 패키지를 추가합니다.

dependencies:
  flutter_barcode_scanner: ^2.0.0

그리고 패키지를 적용하기 위해 터미널에서 다음 명령어를 실행하여 패키지를 다운로드합니다.

flutter pub get

2. 바코드 및 QR 코드 스캐너 페이지 생성하기

바코드 및 QR 코드 스캐너를 위한 페이지를 생성해야 합니다.먼저, lib 폴더 내부에 scanner_page.dart 파일을 생성합니다.

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

class ScannerPage extends StatefulWidget {
  @override
  _ScannerPageState createState() => _ScannerPageState();
}

class _ScannerPageState extends State<ScannerPage> {
  String _scanResult = "";

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('바코드 및 QR 코드 스캐너'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              '스캔 결과:',
              style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
            ),
            SizedBox(height: 20),
            Text(
              _scanResult,
              style: TextStyle(fontSize: 18),
            ),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: _scanBarcode,
              child: Text('스캔 시작'),
            ),
          ],
        ),
      ),
    );
  }

  Future<void> _scanBarcode() async {
    String scanResult = await FlutterBarcodeScanner.scanBarcode(
      '#FF0000',   // 바코드 스캔 화면의 색상 설정
      '취소',  // 취소 버튼에 표시될 텍스트 설정
      true,   // Flash 켜기/끄기 기능 사용 여부
      ScanMode.BARCODE,   // 스캔할 바코드 종류 설정
    );

    if (!mounted) return;

    setState(() {
      _scanResult = scanResult;
    });
  }
}

3. 메인 앱에서 스캐너 페이지 호출하기

이제 스캐너 페이지를 메인 앱에서 호출하기 위해 main.dart 파일을 엽니다.

import 'package:flutter/material.dart';
import 'scanner_page.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: '바코드 및 QR 코드 스캐너',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: ScannerPage(),
    );
  }
}

4. 프로젝트 실행하기

이제 모든 구성이 완료되었습니다. 터미널에서 flutter run 명령어를 실행하여 프로젝트를 실행합니다. 앱이 실행되면 “스캔 시작” 버튼을 눌러 바코드 및 QR 코드를 스캔할 수 있습니다.

결론

Flutter에서 바코드 및 QR 코드 스캐너를 구현하는 방법을 알아보았습니다. flutter_barcode_scanner 패키지를 사용하면 쉽게 바코드 및 QR 코드를 스캔할 수 있습니다. 이를 활용하여 앱의 편의성을 높일 수 있습니다.

참고 자료

이번 글을 통해 바코드 및 QR 코드 스캔에 대해 알게 되셨으면 좋겠습니다.