- 1 سال قبل
- علیرضا نصراله زاده
اسکن بارکد (QrCode) در فلاتر (Flutter)
برای اسکن بارکد یا کد QR در فلاتر، میتوانید از یکی از پکیجهای موجود استفاده کنید. یکی از پراستفادهترین پکیجها برای این کار، barcode_scan است. لطفاً دقت کنید که استفاده کنید.
استفاده از پکیج barcode_scan:
ابتدا به فایل pubspec.yaml پروژهی خود این پکیج را اضافه کنید:
dependencies:
barcode_scan: ^0.0.9 # نسخهی بهروزتر را انتخاب کنید
سپس از دستور flutter pub get برای دریافت و نصب پکیجها استفاده کنید.
در فایل Dart خود (برای مثال main.dart)، ماژولها را وارد کنید:
import 'package:flutter/material.dart';
import 'package:barcode_scan/barcode_scan.dart';
import 'package:flutter/services.dart';
حالا میتوانید از پکیج برای اسکن بارکد یا کد QR استفاده کنید. در اینجا یک نمونه ساده از نحوهی استفاده آورده شده است:
class BarcodeScannerPage extends StatefulWidget {
@override
_BarcodeScannerPageState createState() => _BarcodeScannerPageState();
}
class _BarcodeScannerPageState extends State<BarcodeScannerPage> {
String barcodeResult = 'Scan a barcode or QR code';
Future<void> scanBarcode() async {
try {
String result = await BarcodeScanner.scan();
setState(() {
barcodeResult = result;
});
} on PlatformException catch (e) {
if (e.code == BarcodeScanner.CameraAccessDenied) {
setState(() {
barcodeResult = 'Camera permission was denied';
});
} else {
setState(() {
barcodeResult = 'Error: $e';
});
}
} on FormatException {
setState(() {
barcodeResult = 'User pressed the back button before scanning anything';
});
} catch (e) {
setState(() {
barcodeResult = 'Error: $e';
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Barcode Scanner'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
barcodeResult,
style: TextStyle(fontSize: 16.0),
),
SizedBox(height: 20.0),
ElevatedButton(
onPressed: scanBarcode,
child: Text('Scan Barcode'),
),
],
),
),
);
}
}
void main() {
runApp(MaterialApp(
home: BarcodeScannerPage(),
));
}
این کد یک صفحه ساده را ایجاد میکند که از پکیج barcode_scan برای اسکن بارکد یا کد QR استفاده میکند. زمانی که کاربر گزینه اسکن را انتخاب میکند، دستگاه دوربین را باز کرده و اطلاعات کد را نمایش میدهد. برنامه نیز به کاربر اجازه دسترسی به دوربین را میدهد.