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