king_cache 0.0.3 copy "king_cache: ^0.0.3" to clipboard
king_cache: ^0.0.3 copied to clipboard

A Flutter package for caching api data to disk and improving app performance. It uses the http package to make api calls and use cache directory to cache data.

King Cache #

This package is used to cache apis results so next time when you call the same api, it will return the cached result instead of calling the api again. This will help to reduce the number of api calls and improve the user experience of your app.

This package uses file based caching system.

It give you couple of functions to manage the cache. It also have a log function so you can add, remove, clear and share logs. It also give you ability to set the cache expiry time.

Features #

Screenshot 1

  1. Cache api results.
  2. Set cache expiry time.
  3. Manage cache.
  4. Log cache.
  5. Clear cache.
  6. Share cache.

Getting started #

  1. Add this package to your pubspec.yaml file.
  2. Import the package.
  3. Call the functions.

Usage #

TextButton(
    onPressed: () async {
    KingCache.storeLog('Call Json Place Holder API');
    await KingCache.cacheViaRest(
        'https://jsonplaceholder.typicode.com/todos/1',
        method: HttpMethod.get,
        onSuccess: (data) {
        // This will execute 2 times when you have data in data
        debugPrint(data);
        KingCache.storeLog('Response: $data');
        },
        onError: (data) => debugPrint(data.message),
        apiResponse: (data) => debugPrint(data.message),
        isCacheHit: (isHit) => debugPrint('Is Cache Hit: $isHit'),
        shouldUpdate: false,
        expiryTime: DateTime.now().add(const Duration(hours: 1)),
    );
    KingCache.storeLog('Call Json Place Holder API');
    },
    child: const Text('Json Place Holder API'),
),
TextButton(
    onPressed: () async {
    debugPrint(await KingCache.getLog);
    },
    child: const Text('Get Logs'),
)
TextButton(
    onPressed: () => KingCache.shareLogs,
    child: const Text('Share Logs'),
)
TextButton(
    onPressed: () => KingCache.clearLog,
    child: const Text('Clear Logs'),
)
TextButton(
    onPressed: () => KingCache.clearAllCache,
    child: const Text('Clear All Cache'),
)

Additional information #

If you have any questions or suggestions, please feel free to contact us at King Technologies.

Please file GitHub Issues for bugs and feature requests.

You can expect responsive replies and fast fixes to any issues that appear.

License #

MIT License

Next Steps #

  • ❌ Data Encryption and Decryption.
  • ❌ Add more tests.
  • ❌ More Use Cases.
12
likes
0
pub points
77%
popularity

Publisher

verified publisherkingtechnologies.dev

A Flutter package for caching api data to disk and improving app performance. It uses the http package to make api calls and use cache directory to cache data.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, http, path_provider, share_plus

More

Packages that depend on king_cache