Junior — Middle
Puoi fare un esempio di utilizzo del componente StreamBuilder per aggiornare l'interfaccia in tempo reale?
sobes.tech AI
Risposta dell'AI
Il componente StreamBuilder in Flutter viene utilizzato per costruire un'interfaccia che si aggiorna in tempo reale quando arrivano nuovi dati da un flusso (Stream). Ad esempio, se hai un flusso di numeri che emette un nuovo valore ogni secondo, StreamBuilder permetterà di aggiornare automaticamente il widget con questo numero.
Esempio:
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('Contatore: \\${snapshot.data}');
} else {
return CircularProgressIndicator();
}
},
);
}
}
In questo esempio, il testo sullo schermo si aggiornerà ogni secondo, mostrando il valore corrente del contatore.