Sobes.tech
Junior — Middle

Gerçek zamanlı arayüz güncellemesi için StreamBuilder bileşeninin kullanımına bir örnek verebilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Flutter'da StreamBuilder bileşeni, bir akıştan (Stream) yeni veriler geldiğinde gerçek zamanlı olarak güncellenen bir arayüz oluşturmak için kullanılır. Örneğin, her saniye yeni bir değer üreten bir sayı akışınız varsa, StreamBuilder bu sayıyla otomatik olarak widget'ı günceller.

Örnek:

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

Bu örnekte, ekrandaki metin her saniye güncellenecek ve sayacın mevcut değeri gösterilecektir.