패키지, 저장소 및 앱 카테고리 검색

패키지 상세v0.2.0

fast_qr_reader_view

iOS 및 Android용 실시간 미리보기 기능을 갖춘 다중 코드 리더 위젯입니다. 네이티브 코드를 사용하여 QR, PDF417, CODE39 등 다양한 코드를 스캔합니다.

30일 다운로드
56
좋아요
51
Pub 점수
40

패키지 설치

flutter pub add fast_qr_reader_view

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

Fast QR Reader View는 iOS 및 Android에서 높은 성능을 위해 네이티브 플랫폼 코드를 사용하여 QR 코드, PDF417, CODE39 등 다양한 바코드 유형을 실시간으로 스캔할 수 있는 Flutter 위젯입니다. 정확하고 빠른 탐지가 보장되는 라이브 미리보기 카메라 피드 기능을 갖추고 있습니다. 순수 Dart 구현에 의존하지 않고 신뢰성 있고 효율적인 바코드 스캔이 필요한 애플리케이션에 적합합니다.

사용 사례

  • 모바일 재고 관리
  • 비접촉 결제 처리
  • PDF417를 사용한 문서 스캔
  • 물류에서 자산 추적
  • 바코드에서의 빠른 데이터 입력

주요 기능

  • 속도를 위한 네이티브 코드 통합
  • 여러 바코드 형식을 지원합니다
  • 실시간 카메라 미리보기
  • 크로스 플랫폼 호환성
  • 저지연 스캔

적합한 대상

  • 빠른 바코드 스캔이 필요한 개발자
  • 실시간 데이터 캡처가 필요한 앱
  • 현장 서비스 및 소매 응용 프로그램
  • 물류 및 창고 시스템

고려 사항

  • 기기에서 카메라 권한이 필요합니다
  • iOS 및 안드로이드 플랫폼에 제한됨
  • 카메라 접근을 위해 추가 구성이 필요할 수 있습니다
  • 성능은 기기 하드웨어에 따라 달라집니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Fast QR Reader View Plugin

See in pub

A Flutter plugin for iOS and Android allowing access to the device cameras to scan multiple type of codes (QR, PDF417, CODE39, etc). Heavily based on camera

Red box is a Flutter animation (removable). Low FPS due to GIF

Features:

  • Display live camera preview in a widget.
  • Uses native AVFoundation code detection in iOS
  • Uses ML Kit in Android

Installation

First, add fast_qr_reader_view as a dependency in your pubspec.yaml file.

iOS

Add a row to the ios/Runner/Info.plist with the key Privacy - Camera Usage Description and a usage description.

Or in text format add the key:

<key>NSCameraUsageDescription</key>
<string>Can I use the camera please?</string>
Android

Change the minimum Android sdk version to 21 (or higher) in your android/app/build.gradle file.

minSdkVersion 21
Example

Here is a small example flutter app displaying a full screen camera preview.

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:fast_qr_reader_view/fast_qr_reader_view.dart';

List<CameraDescription> cameras;

Future<Null> main() async {
  cameras = await availableCameras();
  runApp(new CameraApp());
}

class CameraApp extends StatefulWidget {
  @override
  _CameraAppState createState() => new _CameraAppState();
}

class _CameraAppState extends State<CameraApp> {
  QRReaderController controller;

  @override
  void initState() {
    super.initState();
    controller = new QRReaderController(cameras[0], ResolutionPreset.medium, [CodeFormat.qr], (dynamic value){
        print(value); // the result!
    // ... do something
    // wait 3 seconds then start scanning again.
    new Future.delayed(const Duration(seconds: 3), controller.startScanning);
    });
    controller.initialize().then((_) {
      if (!mounted) {
        return;
      }
      setState(() {});
      controller.startScanning();
    });
  }

  @override
  void dispose() {
    controller?.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    if (!controller.value.isInitialized) {
      return new Container();
    }
    return new AspectRatio(
        aspectRatio:
        controller.value.aspectRatio,
        child: new QRReaderPreview(controller));
  }
}

For a more elaborate usage example see here.

Note: This plugin is still under development, and some APIs might not be available yet. Feedback welcome and Pull Requests are most welcome!

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.