前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | 通信场景 | Channel 通信机制 | Channel 支持的通信数据类型 | Channel 类型 )

【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | 通信场景 | Channel 通信机制 | Channel 支持的通信数据类型 | Channel 类型 )

作者头像
韩曙亮
发布2023-03-29 15:53:10
8760
发布2023-03-29 15:53:10
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、Flutter 和 Native 应用之间的通信场景


Flutter 和 Native 应用 之间的通信场景 :

① Native

\rightarrow

Flutter ( 初始化 ) : Native 模块中向 Flutter 模块传递 初始化数据 initParams ; 如 : 在 Activity 中迁入 FlutterFragment , 可以传 initParams 初始化数据 ;

② Native

\rightarrow

Flutter ( 运行中 ) : Native 模块在运行中 , 主动向 Flutter 模块传递数据 ; 如 : 收集了一些传感器数据 , 实时传递给 Flutter 模块 ;

③ Flutter

\rightarrow

Native : Flutter 模块 向 Native 模块传递数据 ;

④ Flutter

\leftrightarrow

Native : Flutter 模块 与 Native 模块 双向传递数据 ;

这里的 Native 应用指的是 Android 或 iOS 的原生应用 ;

二、Flutter 和 Native 的 Channel 通信机制


Flutter 和 Native 之间的通信 , 需要通过 Channel 完成 ;

如下图所示 , Flutter 中的消息 , 通过 平台通道 Channel 发送给 Android 中的 Activity , 然后在 Native 模块中再进行具体的分发 ;

在这里插入图片描述
在这里插入图片描述

三、Channel 通信机制支持的数据类型


Flutter 和 Native 的 Channel 通信所支持的数据类型 :

在这里插入图片描述
在这里插入图片描述

四、Channel 类型


Flutter 中有

3

种不同类型的 Channel 平台通道 :

① BasicMessageChannel : 传递 字符串 / 半结构化 信息 ; 该类型 Channel 可进行持续通信 ;

② MethodChannel : 跨 Native / Flutter 平台调用对方的方法 ; 该类型 Channel 只能进行一次通信 ;

③ EventChannel : 数据流通信 ; 数据流是 EventStreams ; 该类型 Channel 可进行持续通信 ;

BasicMessageChannel 和 EventChannel 都可以持续通信 , 但是 BasicMessageChannel 发送消息后 , 还可以接受对方回复的消息 , EventChannel 只能向对方发送消息 , 不能接受对方反馈消息 ;

五、相关资源


参考资料 :

重要的专题 :

博客源码下载 :

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、Flutter 和 Native 应用之间的通信场景
  • 二、Flutter 和 Native 的 Channel 通信机制
  • 三、Channel 通信机制支持的数据类型
  • 四、Channel 类型
  • 五、相关资源
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档