A flutter library to show images from the internet and keep them in the cache directory.
Add this to your package's pubspec.yaml file:
dependencies:
cached_network_image: "^0.4.1"
Add it to your dart file:
import 'package:cached_network_image/cached_network_image.dart';
The CachedNetworkImage can be used directly or through the ImageProvider.
new CachedNetworkImage(
imageUrl: "http://via.placeholder.com/350x150",
placeholder: new CircularProgressIndicator(),
errorWidget: new Icon(Icons.error),
),
new Image(image: new CachedNetworkImageProvider(url))
The cached network images stores and retrieves files using the flutter_cache_manager.
FadeInImage
. See also "Fallback for Network Images".Added an ImageProvider and improved documentation
Initial release, should be polished
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:cached_network_image/cached_network_image.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'CachedNetworkImage Demo',
theme: new ThemeData(
// This is the theme of your application.
//
// Try running your application with "flutter run". You'll see the
// application has a blue toolbar. Then, without quitting the app, try
// changing the primarySwatch below to Colors.green and then invoke
// "hot reload" (press "r" in the console where you ran "flutter run",
// or press Run > Flutter Hot Reload in IntelliJ). Notice that the
// counter didn't reset back to zero; the application is not restarted.
primarySwatch: Colors.blue,
),
home: new MyHomePage(title: 'CachedNetworkImage'),
);
}
}
class MyHomePage extends StatelessWidget {
final String title;
MyHomePage({this.title});
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
// Here we take the value from the MyHomePage object that was created by
// the App.build method, and use it to set our appbar title.
title: new Text(title),
),
body:
new SingleChildScrollView(child:
new Center(
child: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
_sizedContainer(
new Image(
image: new CachedNetworkImageProvider("http://via.placeholder.com/350x150"),
),
),
_sizedContainer(
new CachedNetworkImage(
imageUrl: "http://via.placeholder.com/200x150",
),
),
_sizedContainer(
new CachedNetworkImage(
imageUrl: "not a valid uri",
placeholder: new CircularProgressIndicator(),
errorWidget: new Icon(Icons.error),
),
),
_sizedContainer(
new CachedNetworkImage(
imageUrl: "http://via.placeholder.com/350x200",
placeholder: new CircularProgressIndicator(),
errorWidget: new Icon(Icons.error),
fadeOutDuration: new Duration(seconds: 1),
fadeInDuration: new Duration(seconds: 3),
),
),
],
),
),
),
);
}
Widget _sizedContainer(Widget child) {
return new SizedBox(
width: 300.0,
height: 150.0,
child: new Center(
child: child,
),
);
}
}
Add this to your package's pubspec.yaml file:
dependencies:
cached_network_image: ^0.4.1+1
You can install packages from the command line:
with Flutter:
$ flutter packages get
Alternatively, your editor might support flutter packages get
.
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
import 'package:cached_network_image/cached_network_image.dart';
Version | Uploaded | Documentation | Archive |
---|---|---|---|
0.6.0+1 | Feb 19, 2019 |
|
|
0.6.0 | Feb 18, 2019 |
|
|
0.5.1 | Nov 19, 2018 |
|
|
0.5.0+1 | Nov 12, 2018 |
|
|
0.5.0 | Oct 13, 2018 |
|
|
0.4.2 | Aug 30, 2018 |
|
|
0.4.1+1 | May 1, 2018 |
|
|
0.4.1 | Apr 27, 2018 |
|
|
0.4.0 | Apr 14, 2018 |
|
|
0.3.0 | Feb 9, 2018 |
|
|
Popularity:
Describes how popular the package is relative to other packages.
[more]
|
100
|
Health:
Code health derived from static analysis.
[more]
|
100
|
Maintenance:
Reflects how tidy and up-to-date the package is.
[more]
|
100
|
Overall:
Weighted score of the above.
[more]
|
100
|
We analyzed this package on Feb 14, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
Detected platforms: Flutter
References Flutter, and has no conflicting libraries.
Fix lib/cached_network_image.dart
. (-0.50 points)
Analysis of lib/cached_network_image.dart
reported 1 hint:
line 12 col 1: Prefer using /// for doc comments.
Package | Constraint | Resolved | Available |
---|---|---|---|
Direct dependencies | |||
Dart SDK | >=2.0.0-dev.28.0 <3.0.0 | ||
flutter | 0.0.0 | ||
flutter_cache_manager | ^0.1.1 | 0.1.2 | 0.2.0+1 |
Transitive dependencies | |||
async | 2.0.8 | ||
charcode | 1.1.2 | ||
collection | 1.14.11 | ||
convert | 2.1.1 | ||
crypto | 2.0.6 | ||
http | 0.11.3+17 | 0.12.0+1 | |
http_parser | 3.1.3 | ||
meta | 1.1.6 | 1.1.7 | |
path | 1.6.2 | ||
path_provider | 0.4.1 | 0.5.0+1 | |
shared_preferences | 0.4.3 | 0.5.1+1 | |
sky_engine | 0.0.99 | ||
source_span | 1.5.4 | ||
string_scanner | 1.0.4 | ||
synchronized | 1.5.3+2 | 2.0.2+1 | |
term_glyph | 1.1.0 | ||
typed_data | 1.1.6 | ||
uuid | 1.0.3 | 2.0.0 | |
vector_math | 2.0.8 | ||
Dev dependencies | |||
test | ^0.12.0 |