Sobes.tech
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();
        }
      },
    );
  }
}

Այս օրինակով, էկրանին տեքստը ամեն վայրկյան թարմացվում է և ցույց է տալիս հաշվիչի ընթացիկ արժեքը։