Junior — Middle
Tudsz példát mondani a StreamBuilder komponens használatára az interfész valós idejű frissítéséhez?
sobes.tech MI
Válasz az MI-től
A Flutterben a StreamBuilder komponens arra szolgál, hogy egy olyan felületet építsen, amely valós időben frissül, amikor új adatok érkeznek egy áramlatból (Stream). Például, ha van egy számláló adatfolyamod, amely másodpercenként új értéket ad ki, a StreamBuilder automatikusan frissíti a widgetet ezzel az értékkel.
Példa:
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('Számláló: \\${snapshot.data}');
} else {
return CircularProgressIndicator();
}
},
);
}
}
Ebben a példában a képernyőn lévő szöveg minden másodpercben frissül, és a számláló aktuális értékét mutatja.