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

A lightweight Flutter package for caching network images locally with offline support and smart sync using update timestamps.

example/lib/main.dart

import 'dart:io';
import 'package:flutter/material.dart';
import 'package:image_cache_sync/image_cache_sync.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      debugShowCheckedModeBanner: false,
      home: ImageTestScreen(),
    );
  }
}

class ImageTestScreen extends StatefulWidget {
  const ImageTestScreen({super.key});

  @override
  State<ImageTestScreen> createState() => _ImageTestScreenState();
}

class _ImageTestScreenState extends State<ImageTestScreen> {
  final manager = ImageCacheManager();
  List<ImageItem> images = [];

  bool loading = false;

  Future<void> loadImages() async {
    setState(() => loading = true);

    final apiData = [
      ImageItem(
        id: "1",
        url: "https://picsum.photos/200",
        localPath: "",
        updatedAt: DateTime(2024, 1, 1),
      ),
      ImageItem(
        id: "2",
        url: "https://picsum.photos/300",
        localPath: "",
        updatedAt: DateTime(2024, 1, 1),
      ),
    ];

    final result = await manager.syncImages(apiData);

    for (var img in result) {
      print("PATH: ${img.localPath}");
      print("EXISTS: ${File(img.localPath).existsSync()}");
    }

    setState(() {
      images = result;
      loading = false;
    });
  }

  @override
  void initState() {
    super.initState();
    loadImages();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("Image Cache Test")),
      body: loading
          ? const Center(child: CircularProgressIndicator())
          : ListView.builder(
              itemCount: images.length,
              itemBuilder: (context, index) {
                final img = images[index];

                return Card(
                  child: Column(
                    children: [
                      Text("ID: ${img.id}"),
                      // ✅ USE YOUR PACKAGE WIDGET
                      CachedImageView(
                        id: img.id,
                        url: img.url,
                        updatedAt: img.updatedAt,
                        height: 150,
                      ),
                    ],
                  ),
                );
              },
            ),
    );
  }
}
1
likes
150
points
119
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A lightweight Flutter package for caching network images locally with offline support and smart sync using update timestamps.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, hive_ce, hive_ce_flutter, http, path_provider

More

Packages that depend on image_cache_sync