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();
}
},
);
}
}
ამ მაგალითში, ეკრანზე ტექსტი ყოველ წამს განახლდება და აჩვენებს მიმდინარე სანთხელის მნიშვნელობას.