Flatter插件将本机称为PI

频道:闲鱼技术 日期: 浏览:682
作者:自由鱼科技-楚锐

微信号:ccjun91
添加微信群,试用软件
复制微信号

关键词:颤振,颤振插件,平台通道,方法通道,颤振包,颤振插件

Flatter是谷歌使用gallop语言开发的移动应用程序开发框架。它不同于其他开发框架:

(1)由于颤振使用aot预编译代码作为机器代码,因此其运行效率更高。

(2)浮动用户界面控件不使用底层本机控件,而是由skia渲染引擎绘制。由于它不依赖于底层控件,因此具有良好的多终端一致性。

(3)颤振也是非常可扩展的。开发人员可以通过插件与他们的出生地进行通信。

在发展颤振的过程中,游鱼往往需要各种发源地的能力,如获取设备信息和使用基础网络库等。此时,插件将用于桥接。本文将详细介绍该插件,希望能对Flitter开发者有所帮助。

本文首先介绍了颤振插件及其原理,然后解释了插件所依赖的平台通道,然后对“获取剩余功率的插件”进行分解,最后与您分享您之前踩过的坑。

在介绍插件之前,让我们简要了解一下颤振:

颤振框架包括:框架和发动机,它们在各自的平台上运行。

该框架由gallop语言开发,包括材质设计风格的小部件、c u p e r t i n o(ios风格)风格的小部件、文本、图片、按钮和其他基本小部件,以及渲染、动画、绘图、手势和其他基本功能。

该引擎用c语言实现,包括skia(二维图形库);d a r t虚拟机(d a r t运行时);文本(文本呈现)等。

实际上,较高的颤振能力是由发动机提供的。颤振是平滑每个平台差异的引擎。我们今天要讨论的插件是通过引擎提供的平台通道实现的通信。

从上图中,我们可以看到Flatter应用程序是由插件创建的平台通道调用的本机api

平台频道:

颤振应用程序(客户端)通过方法通道类向平台发送调用消息;android平台(主机)通过方法通道类接收调用消息;IO平台(主机)通过颤振通道类接收呼叫消息。

postscript:消息编解码器是JSON格式的二进制序列化,因此调用方法的参数类型必须是可序列化的。

postscript:对于方法调用,也可以反向发送调用消息。

安卓平台

该活动是android的插件管理器,它记录所有插件并将它们绑定到beauty

i o s站台

代理是internet操作系统的插件管理器,它记录所有插件并将它们绑定到颤振控制器(默认为r o t v i e w c o n t r o l e r)

首先,我们创建一个插件(Flatter plug-in battery level)项目。插件也是项目,但项目类型不同。

(1)在欢迎界面中,单击创建新项目或单击文件>新建>项目

(2)从左侧菜单中选择“颤振”,然后单击“下一步”

(3)输入项目名称、项目位置和项目类型,然后选择“插件”

(4)最后,单击finish

项目类型:

(1)应用,抖动偏振应用

(2)插件泄露了安卓和互联网操作系统的应用编程接口,导致应用程序抖动;

(3)该包封装了一个gallop组件,比如“浏览大图片小部件”

ps:插件由三部分组成:DART、NDROID、IOS和代码。

3.2.1方法通道:颤振应用程序调用本机api

首先,我们给出一个例子,方法通道的名称必须是唯一的,然后调用调用方法()方法。调用方法()有两个参数:

(1)方法名称,不能为空;

(2)调用方法的参数,该参数必须可序列化,并且可以为空。

3.2.2.e v e n t c h a n e l:本地呼叫颤振应用

3.3.1.插件注册

在颤振活动的o n c r e a t e()方法中,注册插件

(1)通道名称:必须与颤振应用的通道名称一致;

(2)初始化方法通道和事件通道时,需要传递注册器,即活动

(3)设置方法通道的h a n d l e r,即方法c a l h a n d l e r

(4)设置事件通道的h a n d l r,即事件通道。s t r e a m h a n l e r

3.3.2 m e t h o d c a l h a n d l r和e v e n t c h a n e l。流线型处理器

m e t h o d c a l h a n d l r实现方法通道的颤振应用程序调用局部a p i

事件频道。streamline processor实现了事件通道发源地的调用颤振应用

m e t h o d c a l h a和l e r:

(1)MET h o d c a l上的公众无效(MET h o d c a l调用、结果);

事件频道。s t r a m h a n d e r:

(1)Pu b l i c o i d o n l i s t n(o b j e c t o b j,e v e n t c h n e l.e v e n t s i n k)

(2)取消后的无效公众(目标o、b、j);

3.4.1.插件注册

互联网操作系统的插件注册过程与android一致。只需向p-p-d-e-l-e-g-a-t-e(p-p-d-e-l-g-a-t-e)注册即可

颤振通道和颤振事件通道绑定到此控制器

3.4.2.处理程序:

现在我们有了插件,但是如何将其加载到颤振应用程序项目中呢?

这是酒吧。bar是gallop语言提供的一种包装管理工具。

说到包裹,它有两种类型:

(1)飞镖包:只包含飞驰代码,如“浏览大图小部件”

(2)插件包:包含的gallop代码可以调用android和互联网操作系统实现的本地AP i,如“获取剩余电量的插件”

(1)通过编辑p u b s p e c。y m l(在应用程序根目录下)来管理依赖关系;

(2)mol/m3摆动包装或标准n t e z-准平衡z-准平衡j点击包装针叶树

(3)导入打包并重新运行应用程序。

有三种管理依赖性方法:托管包、GIT包、PA t h包

如果你想让更多人使用你的呕吐物,你可以把它发布到dartrand酒吧。组织

发布托管包:

加载管理包:

编辑p u b s p e c。亚马尔:

如果你的代码不经常更改,或者你不想让别人更改,你可以使用git来管理你的代码。

让我们先创建它吧?一个插件(Flatter远程包)并将其传输到git,然后标记它

正在加载g i t p a c k a g e s:

编辑p u b s p e c。亚马尔:

注意:引用可以指定提交、分支或标签

ps:如果你的代码不需要特殊的场景,你可以直接把包放在本地,这对开发和调试非常方便。

我们在flatter应用程序项目(flatter application)的根目录中创建一个文件夹(plug-in),然后将插件(flatter plug-in电池级)移动到插件中。

加载路径包:

编辑p u b s p e c。亚马尔:

我们已经在p u b s p e c了。

 

yamari添加了依赖项,但是当你打开internet操作系统项目时,你看不到插件

此时需要执行pod安装(或pod更新)

[s e l f.w i n d o w s e t r o o e w c o l e:[f l a t r v i w c o l e r o l c]

n i b n a m e:n i l b u n d l e:n i l]

[s e l f.w i n d o w s e t b a c g r o n d c o r:[u i c o r w i t c o r]

] ;

[s e l f.w i n d o w m a k e k y d v i s i b e]

;

r t u r n[s u p e r a p l i c a o n:p p l i c a o n d i d f i s h l a u n c h i o n s:l a u n c h o o n s]

}

@终止

默认情况下,[g en e r a t e p l u g i i s t r a n t注册表,注册表:s e l f]注册到您自己的窗口r o o t v i w o l r。

因此,您需要先初始化r o t v i e w c o t r o l e r,然后注册插件

启动颤振应用程序后,出生地调用颤振失败?

这是因为插件通道的初始化大约需要15分钟。秒,这是一个异步过程。虽然显示了颤振页面,但插件通道尚未初始化,因此此时出生地的呼叫颤振没有响应。

idle fish的主页是出生地的页面,因此窗口的r o t v i w t r o l l e r不是控制器,直接注册插件将失败。我们需要将插件注册到指定的控制器

我代表。H

我们需要在一个p-p-d-e-g-a-t-e中重写上述两个方法,并且需要指定方法中的返回。这是控制器

应用层a调用应用层i的能力非常依赖于应用层a的聊天。

在调用插件方法的过程中,可能会遇到传递复杂参数的情况(有时需要传递对象),但插件的参数是经过JSO n序列化后的二进制数据,因此参数必须是可序列化的。我认为应该有一个对象映射层来支持对象的传输。

当涉及到插件参数传输时,插件具有非常强大的传输纹理(纹理)的能力。空闲鱼的颤振视频播放实际上使用其出生地的播放器,然后将纹理(纹理)传递给颤振应用程序

没有供应的闲置鱼类的做法是什么?如何做到这一点?游手好闲的鱼没有货源。闲置市场规模超过万亿。二手电子商务迎来了循环经济的红利。“校园圈”真的能成为游鱼生长的第二个引擎吗?如果闲置的鱼被恶意退回怎么办?开店时如何提高闲置鱼的暴露率?

关键词:闲鱼
复制成功

微信号: ccjun91
添加微信群,试用软件

我知道了
添加微信

微信号: ccjun91
添加微信群,试用软件

一键复制加过了
18749471747
微信号:ccjun91添加微信
ccjun91