flutter的基础之进阶篇(二)

192 阅读2分钟

一 # Flutter 如何调用Android和iOS原生代码

主要分为三个步骤: 1 在flutter中调用原生方法 2 在Android中实现被调用的方法 3 在iOS中实现被调用的方法

1 在flutter中调用原生方法

场景,这里你希望调用原生方法告诉你一个bool值,这个值的意义你可以随意定,这里表示的意义是是否是中国用户。

你可以在flutter中设计好要调用的方法名称,这里就叫

isChinese

注意:

在flutter中要调用原生代码需要通过通道传递消息,在flutter端就是MethodChannel

所以我们这里的做法是,在flutter 端创建一个自己命名的通道:

const platform = const MethodChannel("com.test/name");

这里的名字com.test/name 你可以随便取

这里你肯定会有疑问。我们自助在flutter端的通道,怎样就能告诉Android与iOS端如何调用呢?

问题解答:

先告诉你等下我们还要分别在两端创建与这个通道同名的通道

此时你知道了,我们要在三端分别有一个通道了吧,而且这三个通道是同名的,所以就能连接起来了。

不过这里还是先把flutter端的代码写完,然后我们再去分别设置android和iOS端的代码吧

[](iOS逻辑沐子的个人空间_哔哩哔哩_Bilibili space.bilibili.com/1237846717)

我在哔哩哔哩上的学习视频

在flutter中的代码如下:

  • 1 Future isEuropeUser() async {\

  • 2 // Native channel

  • 3 const platform = const MethodChannel("com.test/name"); //分析1

  • 4 bool result = false;

  • 5 try {

  • 6 result = await platform.invokeMethod("isChinese"); //分析2

  • 7 } on PlatformException catch (e) {

  • 8 print(e.toString());

  • 9 }

  • 10 return result;

  • 11 }

  • 12

分析:

1 创建一个我们自定义的channel 2 用channel发送调用消息到原生端,调用方法是:is chinese

剩下两个方法我就不一一写了,不如在我的哔哩哔哩上的视频观看

点击传送吧space.bilibili.com/1237846717