storage_repository 1.1.17

SDKflutter
Platformandroidioswindowslinuxmacosweb

Abstraction for reading and persisting data to platform specific storage.

Storage repository

Abstraction for persisting and reading data to platform specific storage. You can also find this package on pub as storage_repository

Usage

Future main() async {
    WidgetsFlutterBinding.ensureInitialized();
    //This must be called once per application lifetime
    await StorageRepository.initFlutter();

    //Instantiate a basic storage repository
    IStorageRepository storageRepository = StorageRepository();
    //or use a secure version of storage repository
    //final storageRepository = SecureStorageRepositoryImpl();
    //init must be called, preferably right after the instantiation
    await storageRepository.init();

    await storageRepository.set('some_string_key', 'Some string');
    await storageRepository.set('some_int_key', 0);
    //dynamic keys are also possible
    await storageRepository.set(1, 1);

    //result: Some string (dynamic)
    print(await storageRepository.get('some_string_key'));

    //result: 0 (dynamic)
    print(await storageRepository.get('some_int_key'));

    //result: 1 (dynamic)
    print(await storageRepository.get(1));

    //result: 1 (int?)
    print(await storageRepository.get(1));

    await storageRepository.delete('some_string_key');

    await storageRepository.log();

    await storageRepository.clear();
}