Flutter Channle 实践

在介绍Platfrom Channel之前,我们要先使用命令新建一个plugin.才能继续往下开展工作。

flutter create --template=plugin --org com.example --platforms=android,ios -a java -i objc stard

本文提供的demo 是Flutter 与iOS交互的过程

简单介绍Platfrom Channel的三个API

一.MethodChannel : Flutter与原生方法相互调用,用于方法掉用。

基本流程MethodChannel 是双向的,此处以flutter调用native为例,native调用flutter是一样的只是角色互调

    1. 以“flutter 调用Navite“ 为例

1.1.1[flutter端] 使用MethodChannel.invokeMethod发起异步调用,调用原生里的方法,等待返回值

 

1.1.2 Navite 端实现,可以使用handleMethodCall 也可以使用下面的setMethodCallHandler实现。

 

1.1.3 Navite端如果不想建立多个channle 还可以使用setMethodCallHandler的方式

 

 

 

 

1.2 以“Navite调用Flutter“为例

1.2.1 原生端使用invokeMethod方法进行异步调用

 

1.2.2 Flutter 接收原生的方法调用,使用setMethodCallHandler

 

EventChannel : 原生发送消息,Flutter接收,用于数据流通信,单向通信

原生基本实现如下

举个实际使用场景,比如我要在flutter 端获取到地图的缩放比例以及手机的缩放比例(等比缩放)

_levelChangeHandler主要用来监听事件。主要代码如下

​​​​​​​

 

 

 

Flutter 实现代码如下

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值