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