这篇文章主要为大家详细介绍了Flutter实现扫二维码功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了Flutter实现扫二维码功能的具体代码,供大家参考,具体内容如下
首先在pubspec.yaml中添加:
dependencies:
qrscan: ^0.3.2
event_bus: ^2.0.0
在androd清单文件中加入以下权限:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<!--
路径:E:\chen\android\app\src\main\AndroidManifest.xml
-->
import 'package:flutter/material.dart';
import 'package:qrscan/qrscan.dart' as scanner;
import 'package:event_bus/event_bus.dart';
void main() {
runApp(MyApp());
}
final eventBus = EventBus();
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(home: HomePage());
}
}
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("QRScan")),
body: BodyContent(),
);
}
}
class BodyContent extends StatelessWidget {
const BodyContent({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
child: Column(
children: [HYButton(), HYText()],
));
}
}
class HYButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ElevatedButton(
child: Text("扫一扫"),
onPressed: scan,
);
}
Future scan() async {
String? cameraScanResult = await scanner.scan(); //通过扫码获取二维码中的数据
final info = QRInfo("${cameraScanResult}");
eventBus.fire(info);
print(cameraScanResult); //在控制台打印
}
}
class HYText extends StatefulWidget {
@override
_HYTextState createState() => _HYTextState();
}
class _HYTextState extends State<HYText> {
String message = "Hello GalenWu";
@override
void initState() {
super.initState();
eventBus.on<QRInfo>().listen((data) {
setState(() {
message = "${data.qrcode}";
});
});
}
@override
Widget build(BuildContext context) {
return Text(
message,
style: TextStyle(fontSize: 30),
);
}
}
class QRInfo {
String? qrcode;
QRInfo(this.qrcode);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:Flutter实现扫二维码功能


基础教程推荐
猜你喜欢
- Android Compose自定义TextField实现自定义的输入框 2023-05-13
- Flutter进阶之实现动画效果(三) 2022-10-28
- iOS开发 全机型适配解决方法 2023-01-14
- iOS开发使用XML解析网络数据 2022-11-12
- Android开发Compose集成高德地图实例 2023-06-15
- IOS获取系统相册中照片的示例代码 2023-01-03
- MVVMLight项目Model View结构及全局视图模型注入器 2023-05-07
- iOS Crash常规跟踪方法及Bugly集成运用详细介绍 2023-01-18
- iOS中如何判断当前网络环境是2G/3G/4G/5G/WiFi 2023-06-18
- Android实现短信验证码输入框 2023-04-29