flutter广播EventBus

在flutter本身没有提供类似于android的广播通信机制。要想实现广播刷新页面,我们可以使用强大的EventBus

EventBus

https://pub.dev/packages/event_bus/example
EventBus的使用很简单
1、添加eventbus的依赖库

dependencies:
  flutter:
    sdk: flutter

  event_bus: ^1.1.1

2、创建eventbus

import 'package:event_bus/event_bus.dart';

///event bus
class EventBusUtils {
   static EventBus _eventBus;

  static EventBus getInstance() {
    if (_eventBus == null) {
      _eventBus = EventBus();
    }
    return _eventBus;
  }
}

3、创建发送的事件

class TestEvent{
  String msg;
  int state;

  TestEvent(this.msg,this.state);
}

4、在页面监听事件发送

  @override
  void initState() {
    super.initState();
    EventBusUtils.getInstance().on<TestEvent>().listen((event) {
      print("event bus msg is ="+event.msg +"   state info is  = "+event.state.toString());
    });
  }

在on后的泛型表示要监听的事件,如果发送的不是这个类型的事件是无法接收到的。
5、发送事件

EventBusUtils.getInstance().fire(TestEvent("你是猪么", 200));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容