Junior — Middle
Siz real vaqt rejimida interfeysni yangilash uchun StreamBuilder komponentidan foydalanish misolini keltira olasizmi?
sobes.tech AI
AIdan javob
Flutter'da StreamBuilder komponenti, oqimdan (Stream) yangi ma'lumotlar kelganda real vaqtda yangilanuvchi interfeys yaratish uchun ishlatiladi. Masalan, agar sizda har sekundda yangi qiymat chiqaradigan raqamlar oqimi bo'lsa, StreamBuilder bu raqam bilan avtomatik tarzda vidjetni yangilash imkonini beradi.
Misol:
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('Sanog‘ich: \\${snapshot.data}');
} else {
return CircularProgressIndicator();
}
},
);
}
}
Ushbu misolda, ekran matni har sekundda yangilanadi va hozirgi sanog‘ich qiymatini ko‘rsatadi.