Junior — Middle
Můžeš uvést příklad použití komponenty StreamBuilder pro aktualizaci rozhraní v reálném čase?
sobes.tech AI
Odpověď od AI
Komponenta StreamBuilder v Flutteru se používá k vytvoření rozhraní, které se aktualizuje v reálném čase při příchodu nových dat ze streamu (Stream). Například pokud máte proud čísel, který každý sekundu vydává novou hodnotu, StreamBuilder umožní automaticky aktualizovat widget s tímto číslem.
Příklad:
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('Čítač: \\${snapshot.data}');
} else {
return CircularProgressIndicator();
}
},
);
}
}
V tomto příkladu se text na obrazovce bude aktualizovat každou sekundu a zobrazí aktuální hodnotu čítače.