美文网首页Flutter
Flutter使用Stream进行消息通知

Flutter使用Stream进行消息通知

作者: 李小轰 | 来源:发表于2021-05-07 10:48 被阅读0次
    在Android中我们用广播,eventBus等方式来实现监听与消息传递。Flutter中我们用流(Stream)来实现同样的能力,代码如下:
    //全局维护一个静态的stream
    abstract class EventStreamController {
      //Message为流内的消息体,是一个自定义类
      static StreamController<Message> _streamNotice;
      static Stream<Message> get noticeStream {
        if (_streamNotice == null) {
          _streamNotice = StreamController<BucketNoticeMessage>.broadcast();
        }
        return _streamNotice.stream;
      }
      //提供外部调用发送消息
      static sendMessage(Message msg) {
        _streamNotice?.sink?.add(msg);
      }
    }
    
    //自定义消息体(泛型)
    abstract class Message{}
    
    
    注册监听消息
    EventStreamController.noticeStream.listen((event) {
          if (event is Message) {
            //判断泛型,进行相应的操作
          }
        });
    
    Flutter中对Stream的运用非常广泛,后续补充。

    相关文章

      网友评论

        本文标题:Flutter使用Stream进行消息通知

        本文链接:https://www.haomeiwen.com/subject/xwdsdltx.html