idkit_gshared 0.0.1 idkit_gshared: ^0.0.1 copied to clipboard
A convenient global shared data package for Flutter projects.
idkit_gshared #
1. Briefly
This package is for global data sharing of Flutter projects. The following is a detailed introduction and use of its methods.
2. Use
-
Preconditions First create a global shared data management object,As follows:
final IDKitGShared gShared = IDKitGShared();
-
Basic sharing
Register #
1.Register int、list、map......
gShared.register<int>(520); gShared.register<int>(1314, mark: 'love');
2. Register object
gShared.register( const TestInfo('Asynchronous registration'), ); gShared.register( const TestInfo('Asynchronous registration - Mark'), mark: 'mark', );
3. Asynchronous registration
gShared.register<Future<String>>( Future.delayed(const Duration(seconds: 1), () { return '110'; }), ); gShared.register<Future<TestInfo>>( Future.delayed(const Duration(seconds: 1), () { return const TestInfo('120'); }), mark: 'mark', );
Read #
1. Read int、list、map......
gShared.read<int>() -> int? gShared.read<int>(mark: 'love') -> int?
2. Read object
gShared.read<TestInfo>() -> TestInfo? gShared.read<TestInfo>(mark: 'mark') -> TestInfo?
3. Read data asynchronously
FutureBuilder<String>( future: gShared.read<Future<String>>(), initialData: '000', builder: (_, AsyncSnapshot<String> snapshot) { return Text('${snapshot.data}'); }, ), FutureBuilder<String>( future: gShared.read<Future<String>>(mark: 'mark'), initialData: '000 - mark', builder: (_, AsyncSnapshot<String> snapshot) { return Text('${snapshot.data}'); }, ),
Update data #
gShared.update<String>((value) => 'I am a baby!'); gShared.update<String>((value) => 'I am a baby!',mark:'mark');
unRegister #
gShared.unRegister<String>(); gShared.unRegister<String>(mark: 'mark');
or
gShared.unRegisterAll(); gShared.unRegisterAll(listen: true);
-
Listen sharing
Register #
gShared.registerListen<String>(); gShared.registerListen<String>(mark: 'mark');
Watch #
StreamBuilder<String?>( stream: gShared.watch<String>(), initialData: 'listen - 0', builder: (_, s) { final String? a = s.data; return Text(a ?? 'listen - 0'); }, ), StreamBuilder<String?>( stream: gShared.watch<String>(mark: 'mark'), initialData: 'listen - 0', builder: (_, s) { final String? a = s.data; return Text(a ?? 'listen - 0'); }, )
unRegister listen #
gShared.unRegisterListen<String>(); gShared.unRegisterListen<String>(mark: 'mark');
Convert #
gShared.convertListen<int>(); gShared.convertListen<int>(mark:'mark');
3. Summarize #
This version of the package covers some of the above methods. If you don't understand anything or don't understand how to use it, you can leave me a message!