如何从屏幕上颤抖地阅读?

时间:2020-10-23 12:39:55

标签: firebase flutter dart

我正在开发一种Flutter应用程序,该应用程序使用相机扫描条形码并将其显示在屏幕上。

我在自己的依存关系中添加了barcode_scan: ^1.0.0,它可以正常运行,但是我有几个问题:

  1. 颤动是否支持从屏幕读取? (例如读取屏幕上显示的条形码数字)
  2. 我是否需要firebase来存储产品数据库以使其与扫描的条形码相匹配,还是可以将条形码存储在应用程序中? 我最终的目标是阅读条形码,寻找产品并显示有关其的信息This is the result I get after scanning a barcode

2 个答案:

答案 0 :(得分:1)

获取条形码:

String barcode = await BarcodeScanner.scan();

关于使用Firebase,如果产品要更改,则一定要使用数据库。如果产品和产品信息是固定不变的,并且永远不变,那么不妨将其放入应用程序中。

答案 1 :(得分:1)

对于1.您正在使用的barcode_scan: ^1.0.0软件包提供了一种使用相机读取条形码的方法,要从相机读取条形码的示例,以及如何读取条形码的示例

import 'package:barcode_scan/barcode_scan.dart';

void main() async {
  var result = await BarcodeScanner.scan();
  
  print(result.type); // The result type (barcode, cancelled, failed)
  print(result.rawContent); // The barcode content
  print(result.format); // The barcode format (as enum)
  print(result.formatNote); // If a unknown format was scanned this field contains a note
}

如果您想从图像文件夹/图库中的图像中读取图像,则必须创建代码以加载这些图像qr_code_tools包可以帮助您读取图像,例如

String _data = '';

  void _getQrByGallery() {
    Observable<File>.fromFuture(
            ImagePicker.pickImage(source: ImageSource.gallery))
        .flatMap((File file) {
      return Observable<String>.fromFuture(
        QrCodeToolsPlugin.decodeFrom(file.path),
      );
    }).listen((String data) {
      setState(() {
        _data = data;
      });
    }).onError((dynamic error, dynamic stackTrace) {
      setState(() {
        _data = '';
      });
    });
  }

对于2。您可以保存任何位置,但是如果您要通过API调用并且要更新产品信息而不是远程存储数据库。