Junior — Middle
Можеш ли да наведеш пример коришћења компонента StreamBuilder за ажурирање интерфејса у реалном времену?
sobes.tech АИ
Одговор од АИ
Komponenta StreamBuilder u Flutteru se koristi za izgradnju interfejsa koji se ažurira u realnom vremenu kada stignu novi podaci iz toka (Stream). Na primer, ako imate tok brojeva koji svake sekunde emituje novu vrednost, StreamBuilder će automatski osvežiti vidžet sa tim brojem.
Primer:
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('Brojač: \\${snapshot.data}');
} else {
return CircularProgressIndicator();
}
},
);
}
}
U ovom primeru, tekst na ekranu će se osvežavati svake sekunde, prikazujući trenutnu vrednost brojača.