Junior — Middle
Можеш ли да дадеш пример за използването на компонента StreamBuilder за актуализиране на интерфейса в реално време?
sobes.tech AI
Отговор от AI
Компонентът StreamBuilder във Flutter се използва за създаване на интерфейс, който се актуализира в реално време при получаване на нови данни от поток (Stream). Например, ако имате поток от числа, който всяка секунда излъчва нова стойност, StreamBuilder ще позволи автоматичното обновяване на widget с това число.
Пример:
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();
}
},
);
}
}
В този пример текстът на екрана ще се обновява всяка секунда, показвайки текущата стойност на брояча.