#generate and store qr code A QR code generation and storing library for Dart and Flutter.

Features

  • Generate QR : Supports QR code versions 1 - 40
  • Error correction / redundancy
  • Store generated QR to any DB

Getting started

To start, import the dependency in your code:

dependencies:
  generate_and_store_qr_code: ^0.0.1
import 'package:generate_and_store_qr_code/generate_and_store_qr_code.dart';

To build your QR code data you should do so as such: See the example directory for further details.

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:generate_and_store_qr_code/generate_and_store_qr_code.dart';
import 'dart:io';

void main() {
  runApp(MaterialApp(
    home: TestScreen()
  ));
}
class TestScreen extends StatelessWidget {
  GlobalKey globalKey = GlobalKey();
  File? imageFile;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Qr(
        globalKey: globalKey,
        width: 100,
        height: 100,
        padding:const EdgeInsets.all(20),
        saveData: uploadImageToFirebase(context, imageFile), imagePath: imageFile!,
      ),
    );
  }
//firebase Example
  Future uploadImageToFirebase(BuildContext context, qrImage) async {
    String fileName = qrImage!.path;
    // Reference firebaseStorageRef =
    // FirebaseStorage.instance.ref().child('uploads/$fileName');
    // UploadTask uploadTask = firebaseStorageRef.putFile(qrImage!);
    // TaskSnapshot taskSnapshot = await uploadTask;
    //  taskSnapshot.ref.getDownloadURL().then(
    //         (value) {
    //     print("Done: $value");
    //     FirebaseFirestore.instance.collection('qr').add({
    //       'qr_id':value
    //     });
    //}

    //  );
  }

}

##Simple usage

       Qr(
            globalKey: globalKey,
            saveData: uploadImageToFirebase(context, imageFile), imagePath: imageFile!,
       ),

##Custom usage

       Qr(
            globalKey: globalKey,
            width: 100,
            height: 100,
            padding:const EdgeInsets.all(20),
            color:Colors.red,
            saveData: uploadImageToFirebase(context, imageFile), imagePath: imageFile!,
       ),

If you encounter problems, open an issue. Pull request are also welcome.

Demo

A working demo can be found here: Github link