Sobes.tech
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.