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.