700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Flutter进阶第11篇: 调用原生硬件Api实现扫码 扫描条形码 扫描二维码

Flutter进阶第11篇: 调用原生硬件Api实现扫码 扫描条形码 扫描二维码

时间:2023-08-13 18:21:26

相关推荐

Flutter进阶第11篇: 调用原生硬件Api实现扫码  扫描条形码 扫描二维码

效果图:

第一步:

导入第三方库:barcode_scan

第二步:

<uses-permission android:name="android.permission.CAMERA" />

第三步:

3.1 的 编 辑 你 的 d android 的 目 录 下 面 的 e build.gradle ( Edit your project-level

build.gradle file to look like this)

注意: : 官方文档配置的 kotlin_version 的版本是 1.2.31,但是实际发现 1.2.31

会报错。所以本项目使用 1.3.0。

buildscript {ext.kotlin_version = '1.3.0'...dependencies {...classpath"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"}}

第四步:编辑你 的 p android/app 的 目 录下 面 的 e build.gradle ( Edit your app-levelbuild.gradle file to look like this)

apply plugin: 'kotlin-android'...dependencies {implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"...}

import 'package:flutter/material.dart';import 'package:barcode_scan/barcode_scan.dart';import 'package:flutter/services.dart';class ScanPage extends StatefulWidget {ScanPage({Key key}) : super(key: key);_ScanPageState createState() => _ScanPageState();}class _ScanPageState extends State<ScanPage> {String barcode;Future _scan() async {try {String barcode = await BarcodeScanner.scan();setState(() {return this.barcode = barcode;});} on PlatformException catch (e) {if (e.code == BarcodeScanner.CameraAccessDenied) {setState(() {return this.barcode = 'The user did not grant the camera permission!';});} else {setState(() {return this.barcode = 'Unknown error: $e';});}} on FormatException {setState(() => this.barcode ='null (User returned using the "back"-button before scanning anything. Result)');} catch (e) {setState(() => this.barcode = 'Unknown error: $e');}}@overrideWidget build(BuildContext context) {return Scaffold(floatingActionButton: FloatingActionButton(child: Icon(Icons.photo_camera),onPressed: _scan,),appBar: AppBar(title: Text("扫码"),),body: Text("${barcode}"));}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。