ez_image_fetch_package 0.0.1 copy "ez_image_fetch_package: ^0.0.1" to clipboard
ez_image_fetch_package: ^0.0.1 copied to clipboard

A Flutter package for efficient image fetching and caching with in-memory and disk cache support, including download management and performance logging.

ez_image_fetch_package #

ez_image_fetch_package is a Flutter library for efficient image fetching and caching. It integrates with Dio for fast image downloads and supports both memory and disk caching with customizable error handling.

Features #

Fast image downloading with Dio Memory and disk caching Customizable error handling Installation Add the package to your pubspec.yaml:

yaml #

dependencies: ez_image_fetch_package: ^0.0.1

Usage - Basic Example #

import 'package:ez_image_fetch_package/ez_disk_cache.dart';
import 'package:ez_image_fetch_package/ez_image_fetcher.dart';
import 'package:ez_image_fetch_package/ez_task_manager.dart';
import 'package:flutter/material.dart';
import 'package:dio/dio.dart';
import 'package:logger/logger.dart';

void main() {
  runApp(ExampleScreen());
}

class ExampleScreen extends StatelessWidget {
  final EzImageFetcher imageFetcher = EzImageFetcher(
    dio: Dio()
      ..httpClientAdapter = NativeAdapter(
          createCupertinoConfiguration: () =>
              URLSessionConfiguration.ephemeralSessionConfiguration()),
    diskCache: EzDiskCache(),
    taskManager: EzTaskManager(maxRunningTask: 44),
    errorImage: Image.asset("assets/dog.png"),
    logger: Logger(),
  );

  ExampleScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('Image Fetch Example')),
        body: GridView.builder(
          gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 3, // 3 columns in the grid
            crossAxisSpacing: 8.0,
            mainAxisSpacing: 8.0,
          ),
          itemCount: 25,
          itemBuilder: (context, index) {
            final imageUrl =
                'https://via.placeholder.com/200x200.png?text=$index';
            return FutureBuilder<Image>(
              future: imageFetcher.fetchImage(imageUrl),
              builder: (context, snapshot) {
                if (snapshot.connectionState == ConnectionState.waiting) {
                  return const Center(child: CircularProgressIndicator());
                } else if (snapshot.hasError) {
                  return const Center(child: Icon(Icons.error));
                } else {
                  return snapshot.data!;
                }
              },
            );
          },
        ),
      ),
    );
  }
}
0
likes
150
points
24
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package for efficient image fetching and caching with in-memory and disk cache support, including download management and performance logging.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

crypto, dio, flutter, logger, path_provider

More

Packages that depend on ez_image_fetch_package