文章目录
- 1. 知识回顾
- 2. 示例代码
- 3. 经验总结
我们在上一章回中介绍了通道相关的内容,本章回中将介绍其中的一种通道:MethodChannnel.闲话休提,让我们一起Talk Flutter吧。
1. 知识回顾
我们在上一章回中介绍了通道的概念和作用,并且提到了通道有不同的类型,本章回将其中一种通道:MethodChannel.该通道主要通过方法实现通信功能,我们可以通
过方法的参数在通道上传递数据,该通道支持双向通信,就是说Flutte既可以使用通道给原生平台发送数据,也可以使用通道接收原生平台发来的数据。
2. 示例代码
通道的使用方法在前面章节已经介绍过,不过比较抽象,我们在这里通过具体的示例代码来演示:
- 在Flutter中创建通道,使用构造方法就可以创建通道,方法的参数最好使用域名/功能名这样的形式,因为在原生代码中会通过该名称获取该通道;
flutterMethodChannel = MethodChannel("www.acf.com/battery");
- 监听通道中的方法或者事件.这里使用通道的invokeMethod()方法监听通道中名叫getBattery的方法,它可以获取到方法的的返回值。此外,我们还通过方法的
参数给原生平台发送数据,名叫data的参数表示具体的数据。
result = await flutterMethodChannel.invokeMethod("getBattery",data);
- 在原生平台的代码中获取通道;这里继承了FlutterActivity类并且重写类中的configureFlutterEngine()方法,在该方法中获取通道;
class MainActivity: FlutterActivity