simple_storage_plugin 0.0.2 copy "simple_storage_plugin: ^0.0.2" to clipboard
simple_storage_plugin: ^0.0.2 copied to clipboard

PlatformAndroid

A plugin for storing data using shared preferences in Android. Stored data is encrypted using AES.

example/lib/main.dart

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

import 'package:flutter/services.dart';
import 'package:simple_storage_plugin/simple_storage_plugin.dart';

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

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

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

class _MyAppState extends State<MyApp> {
  TextEditingController writeKeyController = TextEditingController();
  TextEditingController writeDataController = TextEditingController();
  TextEditingController readKeyController = TextEditingController();
  TextEditingController deleteKeyController = TextEditingController();
  TextEditingController editKeyController = TextEditingController();
  TextEditingController editDataController = TextEditingController();
  String writeResult = '';
  String readResult = '';
  String deleteResult = '';
  String editResult = '';

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('storage example app'),
        ),
        body: SingleChildScrollView(
          child: Center(
              child: Column(
            children: [
              const Text(
                '1. Write',
                style: TextStyle(fontWeight: FontWeight.bold, fontSize: 25),
              ),
              TextFormField(
                controller: writeKeyController,
                decoration: const InputDecoration(hintText: "key"),
              ),
              TextFormField(
                controller: writeDataController,
                decoration: const InputDecoration(hintText: "data"),
              ),
              RawMaterialButton(
                onPressed: () async {
                  if (writeDataController.text.isNotEmpty &&
                      writeKeyController.text.isNotEmpty) {
                    var result = await SimpleStoragePlugin.writeData(
                        writeKeyController.text, writeDataController.text);
                    if (result == true) {
                      setState(() {
                        writeResult = 'Success!';
                      });
                    } else {
                      setState(() {
                        writeResult = 'Failure!';
                      });
                    }
                  }
                },
                child: const Text('Write!'),
              ),
              Text(writeResult),
              const Divider(),
              const Text(
                '2. Read',
                style: TextStyle(fontWeight: FontWeight.bold, fontSize: 25),
              ),
              TextFormField(
                controller: readKeyController,
                decoration: const InputDecoration(hintText: "key"),
              ),
              RawMaterialButton(
                onPressed: () async {
                  if (readKeyController.text.isNotEmpty) {
                    var result = await SimpleStoragePlugin.readData(
                        readKeyController.text);
                    if (result != false) {
                      setState(() {
                        readResult = result;
                      });
                    } else {
                      setState(() {
                        readResult = 'Failure!';
                      });
                    }
                  }
                },
                child: const Text('Read!'),
              ),
              Text(readResult),
              const Divider(),
              const Text(
                '3. Delete',
                style: TextStyle(fontWeight: FontWeight.bold, fontSize: 25),
              ),
              TextFormField(
                controller: deleteKeyController,
                decoration: const InputDecoration(hintText: "key"),
              ),
              RawMaterialButton(
                onPressed: () async {
                  if (deleteKeyController.text.isNotEmpty) {
                    var result = await SimpleStoragePlugin.deleteData(
                        deleteKeyController.text);
                    if (result == true) {
                      setState(() {
                        deleteResult = "Deleted!";
                      });
                    } else {
                      setState(() {
                        deleteResult = "Failure!";
                      });
                    }
                  }
                },
                child: const Text('Delete!'),
              ),
              Text(deleteResult),
              const Divider(),
              const Text(
                '4. Edit',
                style: TextStyle(fontWeight: FontWeight.bold, fontSize: 25),
              ),
              TextFormField(
                controller: editKeyController,
                decoration: const InputDecoration(hintText: "key"),
              ),
              TextFormField(
                controller: editDataController,
                decoration: const InputDecoration(hintText: "data"),
              ),
              RawMaterialButton(
                onPressed: () async {
                  if (editDataController.text.isNotEmpty &&
                      editKeyController.text.isNotEmpty) {
                    var result = await SimpleStoragePlugin.editData(
                        editKeyController.text, editDataController.text);
                    if (result == true) {
                      setState(() {
                        editResult = 'Success!';
                      });
                    } else {
                      setState(() {
                        editResult = 'Failure!';
                      });
                    }
                  }
                },
                child: const Text('Edit!'),
              ),
              Text(editResult),
              const Divider(),
            ],
          )),
        ),
      ),
    );
  }
}
0
likes
140
pub points
0%
popularity

Publisher

verified publisherhumancolossus.org

A plugin for storing data using shared preferences in Android. Stored data is encrypted using AES.

Repository (GitHub)
View/report issues

Documentation

API reference

License

EUPL-1.2 (LICENSE)

Dependencies

flutter, simple_signing_plugin

More

Packages that depend on simple_storage_plugin