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

PlatformAndroid

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

🌟 King Cache 🌟

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

This package uses a file-based caching system.

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

King Cache King Cache Likes King Cache Points King Cache Popularity King Cache Publisher

King Cache License King Cache Forks King Cache Stars King Cache Issues King Cache Pull Requests King Cache Repo Size Join discord

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 #

KingCache.setBaseUrl('https://jsonplaceholder.typicode.com/');
KingCache.setHeaders({'Content-Type': 'application/json'});
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'),
)

🧑🏻 Author #

Rohit Jain

🤝 Support

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

🎀 Contributions (GitHub Flow), 🔥 issues, and 🥮 feature requests are most welcome!

💙 If you like this project, Give it a ⭐ and Share it with friends!

💰 Donations Links

PayPal Buy me a Coffee Ko-fi Patreon

Made with Flutter & ❤️ in India

12
likes
150
pub points
71%
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

Documentation

API reference

License

MIT (license)

Dependencies

device_info_plus, firebase_analytics, flutter, http, in_app_update, intl, local_auth, logger, package_info_plus, path_provider, permission_handler, url_launcher

More

Packages that depend on king_cache