- 1 سال قبل
- علیرضا نصراله زاده
خواندن Nfc در فلاتر (Flutter)
ابتدا به فایل pubspec.yaml پروژه خود این پکیج را اضافه کنید:
dependencies:
nfc_manager: ^3.3.0
nfc_manager_platform_interface: ^2.0.0
nfc_manager_web: ^2.0.0
سپس از دستور flutter pub get برای دریافت و نصب پکیجها استفاده کنید.
در فایل Dart خود (برای مثال main.dart)، ماژولها را وارد کنید:
import 'package:flutter/material.dart';
import 'package:nfc_manager/nfc_manager.dart';
import 'package:nfc_manager_platform_interface/nfc_manager_platform_interface.dart';
import 'package:nfc_manager_web/nfc_manager_web.dart';
حالا میتوانید از این پکیج برای مدیریت NFC استفاده کنید. نمونه کد زیر یک صفحه ساده را نشان میدهد که اطلاعات NFC را خوانده و نمایش میدهد:
import 'package:flutter/material.dart';
import 'package:nfc_manager/nfc_manager.dart';
import 'package:nfc_manager_platform_interface/nfc_manager_platform_interface.dart';
import 'package:nfc_manager_web/nfc_manager_web.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: NFCReaderPage(),
);
}
}
class NFCReaderPage extends StatefulWidget {
@override
_NFCReaderPageState createState() => _NFCReaderPageState();
}
class _NFCReaderPageState extends State<NFCReaderPage> {
String nfcData = '';
@override
void initState() {
super.initState();
_initNFC();
}
Future<void> _initNFC() async {
NfcManager.instance.startSession(onDiscovered: (NfcTag tag) {
setState(() {
nfcData = tag.data['id'] ?? 'No data';
});
});
}
@override
void dispose() {
NfcManager.instance.stopSession();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('NFC Reader'),
),
body: Center(
child: Text('NFC Data: $nfcData'),
),
);
}
}
این کد یک برنامه ساده فلاتر را ایجاد میکند که مشغول خواندن اطلاعات NFC میشود و اطلاعات را نمایش میدهد. توجه داشته باشید که برخی از گوشیها ممکن است از NFC پشتیبانی نکنند و یا کاربر باید اجازه دسترسی به NFC را بدهد. برای اطمینان از اینکه کد درست کار میکند، باید آن را بر روی یک گوشی با NFC تست کنید.