Back to questions
Junior — Middle
93
Можешь привести пример применения компонента StreamBuilder для обновления интерфейса в реальном времени?
Answer from AI
sobes.tech AI
Компонент StreamBuilder в Flutter используется для построения интерфейса, который обновляется в реальном времени при поступлении новых данных из потока (Stream). Например, если у вас есть поток чисел, который каждую секунду выдает новое значение, StreamBuilder позволит автоматически обновлять виджет с этим числом.
Пример:
Stream<int> counter() async* {
int i = 0;
while (true) {
await Future.delayed(Duration(seconds: 1));
yield i++;
}
}
class CounterWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return StreamBuilder<int>(
stream: counter(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Text('Счетчик: \\${snapshot.data}');
} else {
return CircularProgressIndicator();
}
},
);
}
}
В этом примере текст на экране будет обновляться каждую секунду, показывая текущее значение счетчика.