Junior — Middle
Môžeš uviesť príklad použitia komponentu StreamBuilder na aktualizáciu rozhrania v reálnom čase?
sobes.tech AI
Odpoveď od AI
Komponenta StreamBuilder v Flutteri sa uporablja za gradnjo vmesnika, ki se posodablja v realnem času, ko pridejo novi podatki iz toka (Stream). Na primer, če imate tok številk, ki vsak sekundo izpiše novo vrednost, bo StreamBuilder samodejno posodobil vidžet s to številko.
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('Števec: \\${snapshot.data}');
} else {
return CircularProgressIndicator();
}
},
);
}
}
V tem primeru se bo besedilo na zaslonu posodabljalo vsako sekundo in prikazovalo trenutno vrednost števeca.