美文网首页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