Sobes.tech
Junior — Middle

Kannst du ein Beispiel für die Verwendung des StreamBuilder-Komponenten zur Aktualisierung der Benutzeroberfläche in Echtzeit geben?

sobes.tech KI

Antwort von AI

Die Komponente StreamBuilder in Flutter wird verwendet, um eine Benutzeroberfläche zu erstellen, die in Echtzeit aktualisiert wird, wenn neue Daten aus einem Stream eintreffen. Zum Beispiel, wenn du einen Zahlenstrom hast, der jede Sekunde einen neuen Wert ausgibt, ermöglicht StreamBuilder die automatische Aktualisierung des Widgets mit dieser Zahl.

Beispiel:

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('Zähler: \\${snapshot.data}');
        } else {
          return CircularProgressIndicator();
        }
      },
    );
  }
}

In diesem Beispiel wird der Text auf dem Bildschirm jede Sekunde aktualisiert und zeigt den aktuellen Wert des Zählers an.