Trình tạo mã Qr - 2019
Ứng dụng của chúng tôi bao gồm:
Tiện ích màn hình chính cho người dùng chọn quét Mã QR hoặc tạo Mã QR.
Tiện ích quét mã QR để người dùng quét mã QR bằng camera của thiết bị và xem kết quả văn bản của mã QR.
Tiện ích tạo mã QR cho người dùng nhập dữ liệu văn bản và tạo Tiện ích mã QR, chuyển đổi tiện ích thành tệp hình ảnh và chia sẻ tệp hình ảnh sang ứng dụng khác.
Phụ thuộc dự án
Dự án phụ thuộc plugin pubspec.yaml dự án của chúng tôi bao gồm:
phụ thuộc: .... path_provider: 0.4.1barcode_scan: ^ 0.0.4qr_flutter: ^ 1.1.1
path_provider bởi Flutter Team. Một plugin Flutter để tìm các vị trí thường được sử dụng trên hệ thống tập tin. Hỗ trợ iOS và Android.
mã vạch_scan của Matthew. Một plugin Flutter để quét mã vạch 2D và mã QR dưới dạng trình bao bọc sử dụng thư viện mikebuss / MTBBarcodeScanner và Android dm77 / barcodescanner cụ thể của iOS.
qr_flutter của Luke Freeman. QR.Flutter là thư viện kết xuất và tạo mã QR cho Flutter.
Widget màn hình chính
Tiện ích màn hình chính của ứng dụng của chúng tôi cho phép người dùng chọn thực hiện quét hoặc tạo Mã QR bằng cách nhấn vào nút. Tiện ích xây dựng trả về một Cột có 2 RaisedButton khi còn nhỏ, một để định tuyến để tạo màn hình mã QR và một để định tuyến để quét màn hình mã QR khi nhấn nút.
Quét màn hình tiện ích mã QR
Tiện ích màn hình quét hiển thị quá trình quét bắt đầu bằng nút camera và tiện ích Văn bản hiển thị kết quả quét mã QR của máy ảnh. Nó sử dụng Widget Widget làm cha mẹ cho các con Văn bản và Nút.
Khi người dùng chạm vào Nút, chức năng quét không đồng bộ được gọi. Nó sẽ sử dụng lớp BarcodeScanner từ các phụ thuộc plugin mã vạch_scanner để khởi động kính ngắm camera trên cả iOS và Android để người dùng trỏ và quét Mã QR.
Nếu tìm thấy mã QR, kết quả của văn bản sẽ được trả về và sẽ được gán cho biến đối tượng mã vạch bên trong hàm setState sẽ kích hoạt kết xuất widget. Biến đối tượng mã vạch sẽ được gán cho Text Text để hiển thị kết quả quét Mã QR. Nếu xảy ra lỗi, chúng tôi chỉ cần đặt thuộc tính mã vạch với thông báo lỗi.
Tạo tiện ích mã QR màn hình
Tiện ích màn hình Tạo hiển thị TextField cho người dùng nhập dữ liệu văn bản sẽ được sử dụng để tạo tiện ích Mã QR bằng cách sử dụng plugin qr_flutter khi người dùng nhấn vào nút gửi. Nó cũng cung cấp Nút chia sẻ trong thanh Điều hướng để chia sẻ tệp png hình ảnh cho các ứng dụng khác trong iOS và Android.
Khi người dùng đã điền vào TextField và nhấn vào nút gửi, chúng tôi sẽ gán giá trị thuộc tính _dataString bên trong phương thức setState sẽ kích hoạt kết xuất widget. Tiện ích của chúng tôi sẽ chuyển thuộc tính _dataString cho tiện ích QrImage sẽ xử lý văn bản và hiển thị qr bằng cách sử dụng họa sĩ qr tùy chỉnh. Chúng tôi bọc QrImage bên trong tiện ích RepaintBoundary bằng thuộc tính GlobalKey để chúng tôi có thể lấy RenderRepaintBoundary sau đó bằng khóa và sử dụng phương thức Flutter to Image tích hợp trên tiện ích RenderRepaintBoundary sẽ chuyển đổi widget thành tệp png.
Tạo hình ảnh và chia sẻ mã QR Code với kênh cụ thể của nền tảng
Khi người dùng chạm vào nút chia sẻ, chúng tôi gọi hàm _captureAndSharePng sẽ nhận được đối tượng RepaintBoundary với GlobalKey được chuyển đến tiện ích RepaintBoundary. Sau đó, chúng ta gọi phương thức toImage sẽ chuyển đổi widget thành đối tượng Image và chuyển đổi đối tượng Image bằng cách sử dụng toByteData với định dạng png.
Sau đó, chúng tôi nhận được dữ liệu byte, lấy thư mục tạm thời của ứng dụng và lưu dữ liệu bên trong thư mục tạm thời. Để chia sẻ hình ảnh, chúng tôi sẽ sử dụng phương pháp API kênh cụ thể của nền tảng sẽ vượt qua đường dẫn hình ảnh và gọi shareImage trên mỗi nền tảng cho iOS và Android.
Mô tả này được tạo bởi www.articlegenerator.org
QR code generator - 2019