Junior — Middle
Vai vari sniegt piemēru, kā izmantot StreamBuilder komponentu, lai atjauninātu saskarni reāllaikā?
sobes.tech AI
Atbilde no AI
Flutter komponenta StreamBuilder tiek izmantota, lai būvētu saskarni, kas tiek atjaunināta reāllaikā, kad ienāk jauni dati no straumes (Stream). Piemēram, ja jums ir skaitļu straume, kas katru sekundi emitē jaunu vērtību, StreamBuilder ļaus automātiski atjaunināt widget ar šo skaitli.
Piemērs:
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('Skaitītājs: \\${snapshot.data}');
} else {
return CircularProgressIndicator();
}
},
);
}
}
Šajā piemērā teksta saturs ekrānā tiks atjaunināts katru sekundi, rādot pašreizējo skaitītāja vērtību.