import 'package:flutter/material.dart';
 
void main() => runApp(MyApp());
 
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: StreamBuilder(
        initialData: 0, // 初始数据,可以是任何类型
        stream: Stream.periodic(Duration(seconds: 1)), // 每秒发出一个事件
        builder: (context, snapshot) {
          if (snapshot.hasData) {
            return Center(
              child: Text(
                'Seconds passed: ${snapshot.data}',
                style: Theme.of(context).textTheme.headline4,
              ),
            );
          } else {
            return Center(child: CircularProgressIndicator());
          }
        },
      ),
    );
  }
}这段代码创建了一个Flutter应用,使用StreamBuilder来处理一个每秒更新一次的计数器。initialData属性提供了一个初始的数据状态,而stream属性则定义了数据更新的来源。每当stream发出新的数据时,builder方法就会被调用,并且snapshot参数会包含最新的数据。根据snapshot的状态,构建界面显示计数器的当前值或者显示一个进度指示器。这个例子展示了如何在Flutter中使用StreamBuilder来处理异步数据流。