Sobes.tech
Junior — Middle

StreamBuilder компонентин колдонуп интерфейсти реалдуу убакытта жаңыртуу үчүн мисал келтире аласызбы?

sobes.tech AI

AIден жооп

Flutter-деги StreamBuilder компоненти, потоктон (Stream) жаңы маалымат келгенде, реалдуу убакытта жаңыланган интерфейс түзүү үчүн колдонулат. Мисалы, эгерде сизде ар секунда жаңы маанини чыгара турган сандык поток болсо, StreamBuilder автоматтык түрдө виджетти ошол сан менен жаңыртат.

Мисал:

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('Санаачы: \\${snapshot.data}');
        } else {
          return CircularProgressIndicator();
        }
      },
    );
  }
}

Бул мисалда, экрандагы текст ар секундада жаңыланып, эсептегичтин учурдагы маанисин көрсөтөт.