Flutter 允许调用相关平台的API,无论是Android 中的Java 或Kotlin 代码,还是iOS 中的Objective-C 或Swift 代码
介绍的内容适用於大多数插件,有个例外是一些Web插件的实现是通过联合插件的方式进行的,这一类插件不使用平台通道,可参考Flutter Web在美团外卖的实践
Flutter 内建的platform-specific API 灵活的依赖於传递讯息的格式
Flutter 与 Native 端之间的通讯机制是通过 Platform Channel 来完成。讯息使用 Channel 在*Flutter端(UI)和Native端(平台)*进行传递,如下图所示:
讯息和响应以异步的形式进行传递,以确保用户界面能够保持响应,图中客户端在调用方法的时候透过一种platform channel:MethodChannel
来负责响应动作并传递讯息,从平台的角度上,Android系统上使用的MethodChannel
( MethodChannelAndroid
)、 iOS系统使用的的MethodChannel
(MethodChanneliOS
),用来接收来自方法的调用,以及返回**result
**
如果需要,方法调用也可以反向发送,由平台充当客户端来调用Dart 实现的方法。一个具体的例子是
quick_actions
插件
Flutter 定义了三种不同型别的Platform Channel 在platform_channel.dart
:
>>: 33岁转职者的前端笔记-DAY 20 Javascript 基本知识笔记
免扮女装 | 游戏中超越自己 | 手速up up | 6大推荐 ...
前言 在Object [上]中我们介绍了物件的宣告、型态、拷贝等等特性,接下来我们继续介绍物件中都有...
Route(路由)设置设置详解与实战应用 ´RIB 路由信息库(生成路由表) ´FIB(转发信息库...
今天我们要来介绍Bootsrap,那这是甚麽呢 ?他是一种框架(frame),在他所制定的规则里,能...
让我们透过 Web Serial API 连接 COM 吧! 首先来建立页面。 建立共用样式 准备撰...