Image.network はネット上にあるURLから画像を取得して
アプリに表示させることができます
Image.network
ネット上にある画像のURLを取得して
それを読み出し表示するコードは以下になります
1 |
Image.network('https://aaa.com/bbb/ccc/xxx.jpg') |
Flutterでの画像表示方法はいくつかあります
- Image.asset
- アプリ内のassetsに画像を置きそこから読み出して表示
- Image.network
- Net上のURLから取得して表示
- Image.file
- デバイス内の写真や画像ファイルを表示
- Image.memory
- バイトストリーム、例えばBase64でエンコードされた画像を表示する
また、Imageクラスには特定の目的がないデフォルトのコンストラクタとしてImage.newがあります
これは明示的にコンストラクタを呼び出したい場合でほとんどのケースでは直接使われることはないようです
- Image.new
- Image.newはImageクラスのデフォルトコンストラクタ
- ImageProvider
- 異なるソースからの画像を取得するための統一されたインターフェースの役割
URLの画像
例えば Image class にちょうどいいフクロウの画像ファイルがあるので
それを取得してみます
1 |
Image.network('https://flutter.github.io/assets-for-api-docs/assets/widgets/owl-2.jpg') |
サンプルコード
Image.assetと同様で簡単に作成できます
main.dart
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import 'package:flutter/material.dart'; void main() { runApp(const MainApp()); } class MainApp extends StatelessWidget { const MainApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Center( child: Image.network( 'https://flutter.github.io/assets-for-api-docs/assets/widgets/owl-2.jpg' ), ), ), ); } } |
実行結果
Androidエミュレータで実行
Androidではこんなに難しくやっていました
HttpURLConnection GET で画像をダウンロードする
関連記事:
- Image.asset で画像を表示する
- Image.network でネット上の画像を表示する
- image_picker 画像を読み出す
- image_picker カメラ撮影
- Image.memory 画像のバイトデータを表示する
References:
Image.network
image class