在 Flutter 中,分为三种类型平台渠道,我想知道它们之间的区别。
这些通道用于在本机代码(插件或项目内的本机代码)和 Flutter 框架之间进行通信。
方法通道
A MethodChannel
是用来 ”使用以下方式与平台插件进行通信异步方法调用 https://docs.flutter.io/flutter/services/MethodChannel-class.html”。这意味着您使用该渠道来调用方法 https://docs.flutter.io/flutter/services/MethodChannel/invokeMethod.html在本机端,可以返回一个值,反之亦然。
您可以例如调用以这种方式检索设备名称的方法。
事件通道
An EventChannel https://docs.flutter.io/flutter/services/EventChannel-class.html习惯于stream数据。这导致有一个Stream https://docs.flutter.io/flutter/services/EventChannel/receiveBroadcastStream.html on the Dart事物的一侧并能够从本机一侧提供该流。
如果您想在每次特定的时间发送数据,这非常有用event发生,例如当设备的 wifi 连接发生变化时。
基本消息通道
这可能不是您想要使用的东西。BasicMessageChannel
用于使用以下方式对消息进行编码和解码指定编解码器 https://docs.flutter.io/flutter/services/MessageCodec-class.html.
一个例子是使用 JSON 或二进制数据。它只是一个更简单的版本,因为您的数据具有明确的类型(编解码器),并且您不会发送多个参数等。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)