第一百三十回 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与原生平台通信"的内容就介绍到这里,欢迎大家在评论区交流与讨论!

相关推荐
Sindyue5 小时前
flutter项目老是卡在Running Gradle task ‘assembleRelease‘......
flutter
西西学代码5 小时前
Flutter---泛型
flutter
写不完的程序5 小时前
Flutter 3.38 版本发布了,看看有哪些新特性
flutter
QuantumLeap丶7 小时前
《Flutter全栈开发实战指南:从零到高级》- 14 -网络请求与数据解析
flutter·ios·dart
程序员老刘8 小时前
华为小米都在布局的多屏协同,其实Android早就有了!只是你不知道...
android·flutter
清凉夏日8 小时前
Flutter 国际化完整指南
前端·flutter
猫林老师8 小时前
Flutter for HarmonyOS开发指南(九):测试、调试与质量保障体系
flutter·wpf·harmonyos
猫林老师9 小时前
Flutter for HarmonyOS开发指南(五):性能调优与性能分析全攻略
flutter·华为·harmonyos
全栈派森14 小时前
初见 Dart:这门新语言如何让你的 App「动」起来?
android·flutter·ios
恋猫de小郭14 小时前
Dart 3.10 发布,快来看有什么更新吧
android·前端·flutter