在Android中我们用广播,eventBus等方式来实现监听与消息传递。Flutter中我们用流(Stream)来实现同样的能力,代码如下:
abstract class EventStreamController {
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的运用非常广泛,后续补充。