walf 1.0.3 copy "walf: ^1.0.3" to clipboard
walf: ^1.0.3 copied to clipboard

Walf is a secure and fast key-value based database based on JSON. It uses Salsa20 encryption algorithm for Walf security.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:walf/walf.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  if (await Permission.storage.isDenied) {
    Permission.storage.request();
  }
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String databaseName = "beratdatabase";
  static const String databasePass =
      "rX59jDdeAtBd9Oi24NupVhW1eatUgPC9"; // Must be 32 characters long
  WalfDatabase database = WalfDatabase("beratdatabase", password: databasePass);
  TextEditingController keyController = TextEditingController();
  TextEditingController valueController = TextEditingController();
  initWalfDatabase() async {
    if (!(await database.existDatabase())) {
      await database.createDatabase();
    }
  }

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Walf Example App'),
        ),
        body: Center(
          child: Column(
            children: [
              Padding(
                padding: const EdgeInsets.symmetric(horizontal: 30),
                child: TextField(
                  controller: keyController,
                  decoration: InputDecoration(hintText: "Enter key"),
                ),
              ),
              SizedBox(
                height: 30,
              ),
              Padding(
                padding: const EdgeInsets.symmetric(horizontal: 30),
                child: TextField(
                  controller: valueController,
                  decoration: InputDecoration(hintText: "Enter value"),
                ),
              ),
              SizedBox(
                height: 30,
              ),
              TextButton(
                  onPressed: () {
                    database.setBool(keyController.text,
                        valueController.text.toLowerCase() == "true");
                    setState(() {});
                    // setState(() {});
                  },
                  child: Text("ENTER DATA")),
              StreamBuilder<WalfBool>(
                  stream: database.getBool(keyController.text).asStream(),
                  builder: (context, snapshot) {
                    return Text(snapshot.data!.value.toString());
                  }),
            ],
          ),
        ),
      ),
    );
  }
}
10
likes
110
pub points
10%
popularity

Publisher

verified publisherbeatiapp.com

Walf is a secure and fast key-value based database based on JSON. It uses Salsa20 encryption algorithm for Walf security.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

encrypt, flutter, logging, path_provider, path_provider_windows

More

Packages that depend on walf