Flutter原生交互及简单插件的开发_flutter原生插件开发(1)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数HarmonyOS鸿蒙开发工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年HarmonyOS鸿蒙开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。





既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上HarmonyOS鸿蒙开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注鸿蒙获取)

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

4、先看android目录下的UntitledPlugin文件

主要关注onMethodCall方法,这个方法接收由flutter那边传过来的消息。
比如当前自动生成的 getPlatformVersion 消息,就是获取系统版本的方法,通过result.success() 返回数据。
5、我们现在是要增加一个方法,用于点击返回键时退到桌面

我们这里只需要执行moveTaskToBack() 即可,不需要像getPlatFormVersion消息一样返回数据,所以不需要调用result.success() 。
此时,有个问题就是moveTaskToBack是Activity的方法,需要获取activity,此时只需继承activityAware。

然后在onAttachedToActivity中获取即可。

到此,原生的代码已经写完了。
6、接下来开始处理flutter的代码



虽然有三个自动生成的类,但其实就是Untitled调用MethodChannelUntitled,而MethodChannelUntitled又是实现UntitledPlatform接口。
MethodChannelUntitled则是主要代码实现的地方,现在我们增加一个返回桌面的方法backDeskTop。

在UntitledPlatform中也加入抛异常的代码。

之后在Untitled里写供外部调用的方法。

之后外部调用即可。

至此,在做原生交互的同时,又完成了一个简单的插件。
当前插件只是一个简单的单向通信,flutter调用原生,原生不需要再返回数据给flutter。
例子虽然简单,不过思路原理是一样的,注意写法即可。
使用PlatformView 实现网络图片由Glide加载,同时将其做成一个简单的插件
针对上之前一篇文章的问题# Flutter网络缓存图片插件CachedNetworkImage冷启动加载延时问题
目前的解决方案是使用原生图片加载框架,以解决冷启动加载延迟问题。
1、继承PlatformView ,在构造方法里实现一个imageView,然后在里面加入Glide加载的代码

2、在getView()方法里返回imageViwe

3、其他逻辑处理基本跟methodChannel差不多


4、在flutter的代码里分别用UiUiKitView和AndroidView加载即可

参考
图片加载插件参考了github.com/Yingzi-Tech… 。
不过该插件还不够完善,一些属性需要自己扩展,如图片的ScaleType属性不够,没有占位图和错误图的处理。
196c28933dcc9df34cf7cf87a11d1a6e.png)
参考
图片加载插件参考了github.com/Yingzi-Tech… 。
不过该插件还不够完善,一些属性需要自己扩展,如图片的ScaleType属性不够,没有占位图和错误图的处理。
更多推荐
所有评论(0)