Junior — Middle
Poți oferi un exemplu de utilizare a componentei StreamBuilder pentru actualizarea în timp real a interfeței?
sobes.tech AI
Răspuns de la AI
Componenta StreamBuilder în Flutter este utilizată pentru a construi o interfață care se actualizează în timp real atunci când sosesc noi date dintr-un flux (Stream). De exemplu, dacă ai un flux de numere care emite o valoare nouă în fiecare secundă, StreamBuilder va permite actualizarea automată a widget-ului cu acest număr.
Exemplu:
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('Contor: \\${snapshot.data}');
} else {
return CircularProgressIndicator();
}
},
);
}
}
În acest exemplu, textul de pe ecran se va actualiza în fiecare secundă, afișând valoarea curentă a contorului.