encrypt_db 0.0.6 copy "encrypt_db: ^0.0.6" to clipboard
encrypt_db: ^0.0.6 copied to clipboard

A Swing Technologies Product.

example/lib/main.dart

import 'dart:async';

import 'package:encrypt_db/encrypt_db.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final _encryptDbPlugin = EncryptDb();
  final Map<String, dynamic> _testPrintMap =
      <String, dynamic>{};

  @override
  void initState() {
    super.initState();
    initialDb();
  }

  Future<void> initialDb() async {
    try {
      _encryptDbPlugin.initializeEncryptDb();
      _encryptDbPlugin.write(key: 'key0', value: 452);
    } catch (e) {
      debugPrint('Error: $e');
    }
  }

  void _runManualTest() async {
    try {
      var result = await _encryptDbPlugin.readAll();
      debugPrint('result0: $result');
      _testPrintMap['result0'] = result;
      await _encryptDbPlugin.clearAll();
      debugPrint('Clear all');
      result = await _encryptDbPlugin.readAll();
      debugPrint('result1: $result');
      _testPrintMap['result1'] = result;
      _encryptDbPlugin.write(key: 'key1', value: 'value1');
      debugPrint('Write key1');
      _testPrintMap['Write key1'] = 'Write key1';
      result = await _encryptDbPlugin.read(
          key: 'key1', defaultValue: 'default_value');
      debugPrint('result2: $result');
      _testPrintMap['result2'] = result;
      _encryptDbPlugin.write(key: 'key2', value: 'value2');
      debugPrint('Write key2');
      _testPrintMap['Write key2'] = 'Write key2';
      result = await _encryptDbPlugin.readAll();
      debugPrint('result3: $result');
      _testPrintMap['result3'] = result;
      _encryptDbPlugin.clear(key: 'key1');
      debugPrint('Delete key1');
      _testPrintMap['Delete key1'] = 'Delete key1';
      result = await _encryptDbPlugin.readAll();
      debugPrint('result4: $result');
      _testPrintMap['result4'] = result;
      _encryptDbPlugin.clearAll();
      debugPrint('Clear all');
      _testPrintMap['Clear all'] = 'Clear all';
    } catch (e) {
      debugPrint('Error: $e');
    } finally {
      debugPrint('Test print map: $_testPrintMap');
      setState(() {});
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Encrypt DB example app'),
        ),
        body: SafeArea(
          child: Column(
            children: [
              ListView.builder(
                shrinkWrap: true,
                itemCount: _testPrintMap.length,
                itemBuilder:
                    (BuildContext context, int index) {
                  final key =
                      _testPrintMap.keys.elementAt(index);
                  final value = _testPrintMap[key];
                  return Container(
                    margin: const EdgeInsets.all(8),
                    child: Text('log: $key: $value'),
                  );
                },
              ),
              ElevatedButton(
                onPressed: () async {
                  _runManualTest();
                },
                child: const Text('Run Test'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}