İçeriğe geç

Flutter ile qrcode

Flutter’da QR kod tarayıcısı oluşturmak için qr_code_scanner gibi bir kütüphane kullanabilirsiniz. Bu kütüphane, QR kodlarını tarayıp işlemek için kolay bir yol sağlar. İşte basit bir örnek:

Öncelikle pubspec.yaml dosyanıza kütüphaneyi ekleyin:dependencies: qr_code_scanner: ^0.4.0

Sonra, kodunuzda QR kod tarayıcısını kullanarak bir widget oluşturun:

import ‘package:flutter/material.dart’;
import ‘package:qr_code_scanner/qr_code_scanner.dart’;

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

class QRScannerApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: QRScannerScreen(),
);
}
}

class QRScannerScreen extends StatefulWidget {
@override
_QRScannerScreenState createState() => _QRScannerScreenState();
}

class _QRScannerScreenState extends State {
final GlobalKey qrKey = GlobalKey(debugLabel: ‘QR’);
QRViewController? controller;

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text(‘QR Scanner’)),
body: Column(
children: [
Expanded(
flex: 4,
child: QRView(
key: qrKey,
onQRViewCreated: _onQRViewCreated,
),
),
],
),
);
}

void _onQRViewCreated(QRViewController controller) {
setState(() {
this.controller = controller;
});controller.scannedDataStream.listen((scanData) { // QR kodu tarandığında yapılacak işlemler buraya gelecek. print(scanData); // Örnek: Taranan QR kodunu bir alert dialog ile gösterme. showDialog( context: context, builder: (context) => AlertDialog( title: Text('QR Code'), content: Text(scanData.code), actions: [ TextButton( onPressed: () => Navigator.pop(context), child: Text('OK'), ), ], ), ); });

}

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

Bu kod, QR kod tarayıcısını oluşturur ve taranan her kod için bir AlertDialog gösterir. Kodu kendi projenize göre özelleştirebilirsiniz.

Kategori:Flutter DartUncategorized

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.