第一百三十回 Flutter与原生平台通信


我们在上一章回中介绍了Visibility组件相关的内容,本章回中将介绍 Flutter与原生平台通信相关的内容.闲话休提,让我们一起Talk Flutter吧。

概念介绍

在移动开发领域以Android和IOS SDK开发出的应用程序叫原生开发,开发同一个程序需要两个平台相关的SDK,有没有使用一个SDK来开发运行于两个平台上方法?答案是有,这便是RN或者Flutter,它们可以使用一个SDK开发出跨平台的应用程序,不过对于原生平台上特有的功能,它们无能为力,因此需要在它们开发的程序中和使用原生平台的功能,这便是本章回中将要介绍的内容:Flutter与原生平台通信

Flutter提供了平台通道(channel)来实现与原生平台的通信功能。此外,还可以把Flutter开发的程序当作一个模块集成到原生项目中运行,毕竟原生平台开发的程序肯定早于Flutter开发的程序,如果不想舍弃原生平台中已有的程序,那么可以使用这种方法。在这种开发模式下,原生开发和Flutter开发是相互独立的。如何把Flutter项目当作模块集成到原生项目中呢?这个是不是本章回中主要介绍的内容,感兴趣的看官可以查看官方文档

实现方法

  1. 在Flutter中创建通道
  2. 监听通道中的方法或者事件;
  3. 在原生平台的代码中获取通道;
  4. 给通道设置监听器,在监听器实现原生平台上特有的功能;

上面的步骤比较抽象,不容易理解,我们会在后面的章回中给出详细的示例代码,这样方便大家理解上面的实现方法。Flutter提供了三种类型的通道,每种通道的示例代码也不一样,因此我们不在这里列出示例代码,下面三种通道的概念和功能:

  • MethodChannel: 主要通过方法实现通信功能,可以通过方法的参数传递数据。它可以进行双向通信;
  • EventChannel:主要用于消息类通信功能,它只能通过原生平台向Flutter程序发送消息,属于单向通信;
  • BasicMessageChannel:主要通过消息实现通信功能,只能传递简单的数据,它可以进行双向通信;

前面两种通道使用的范围比较广,因此我们将在后面章回中介绍这两种通道,第三种通道可以使用第一种通信来代替,因此我们将不再介绍该通道的使用方法。

经验总结

最后,我们对本章回介绍的内容做一个总结:

  • Flutter官方提供通道功能,通过该功能可以实现Flutter程序和原生程序之间的通信。
  • 通道是一个泛称,依据通道的功能可以将其分为三大类。
  • 通道功能主适用于在已有的Flutter程序中使用部分原生功能。
  • 如果在原生项目中使用Flutter相关的功能,那么推荐在原生项目中集成Flutter模块,如何集成?我们在第一个小节中给了说明,并且提供了官方给的链接。

看官们,有关"Flutter与原生平台通信"的内容就介绍到这里,欢迎大家在评论区交流与讨论!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值