我正在开发一种Flutter应用程序,该应用程序使用相机扫描条形码并将其显示在屏幕上。
我在自己的依存关系中添加了barcode_scan: ^1.0.0
,它可以正常运行,但是我有几个问题:
答案 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调用并且要更新产品信息而不是远程存储数据库。