Sobes.tech
Junior — Middle

Can you give an example of using the StreamBuilder component to update the interface in real time?

sobes.tech Süni İntellekt

AI-dan cavab

Flutter-də StreamBuilder komponenti, axın (Stream) vasitəsilə yeni məlumatlar gəldikdə, real vaxt rejimində yenilənən interfeys yaratmaq üçün istifadə olunur. Məsələn, hər saniyə yeni dəyər çıxaran ədədlər axınız varsa, StreamBuilder bu ədədlə avtomatik olaraq vidjeti yeniləyəcək.

Nümunə:

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('Sayğac: \\${snapshot.data}');
        } else {
          return CircularProgressIndicator();
        }
      },
    );
  }
}

Bu nümunədə, ekran üzərindəki mətn hər saniyə yenilənəcək və hazırkı sayğac dəyərini göstərəcək.