Flutter 中关于plugin引入的一些事儿

Flutter 中关于plugin引入的一些事儿,第1张

概述    flutter中plugin开发与发布流程这里不做说明,想了解的可以看看其他人的博客。这里主要是想分析一下plugin中原生代码是如何被我们引进来的(仅限android这部分)最近也是初学不明白原生的代码我们怎么引进来的。    首先我们在pubspec.yaml中引入了xxx:1.0.

       Flutter 中plugin开发与发布流程 这里不做说明,想了解的可以看看其他人的博客。这里主要是想分析一下 plugin 中原生代码是如何被我们引进来的(仅限androID 这部分)最近也是初学 不明白原生的代码我们怎么引进来的。

       首先我们在pubspec.yaml 中引入了xxx:1.0.1 的库 我们使用 pub get  下载这个库 。我们就可以在dart 中使用该库封装好的控件 或者API 了。 如果这个库有与原生交互的功能那么它内部一定是写了一个plugin 内部注册了methodchannel 等等 与Flutter 交互使用。 那么你引入这个库 之后 你的androID 代码里一定会生成一个 类   这里以permissionhandler 项目为例

 


            

这里看到它会生成这些代码 用来干什么 。注册这个库的插件 只有在我们的项目中注册了 才能使用这个插件 ,注册的地方在哪呢。就在你androID 项目的 activity中 调用 

 

这样该库的插件才能生效  但是我们发现 在GeneratedpluginRegistrant。中 调用了  PermissonHandlerPlugin 的方法。如果你是在 Flutter 项目中打开 你会发现会爆红 找不到这个类 。需要你打开androID 项目 然后会自动下载相关的代码。 如果你打开androID 项目你会发现你的项目里多了一个moudle。

 

 

然后在这里你发现了 这个类 那么你查看一下build.gradle. 你会发现并没有 依赖这个moudle 那么这个moudle 是怎么引进来的

 

那么这时候请你查看一下settings.gradle. 

 

发现了吗 这里作了遍历 然后 include。这里include 是因为 我们如果想把别的project 的moudle 引入做依赖就要在settings 中进行include 然后要指定该project 的路径

到这里我们在Flutter 中 引入的第三方pub 。如何将他们的原生代码引进来的做了一下简单的分析 如有其他问题 欢迎交流指正 我也是初学 欢迎讨论交流。

工作之余做了一个简单的Flutter 版的 demo  以后有什么新的想法也会写进去,如果你正在学习Flutter 可以作为参考

github 地址 https://github.com/869225586/flutter_news

总结

以上是内存溢出为你收集整理的Flutter 中关于plugin引入的一些事儿全部内容,希望文章能够帮你解决Flutter 中关于plugin引入的一些事儿所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1058826.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存