前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flutter进阶篇(5)-- 使用Flutter创建插件详解并发布到Pub库

Flutter进阶篇(5)-- 使用Flutter创建插件详解并发布到Pub库

作者头像
AWeiLoveAndroid
发布2019-03-06 15:10:50
2.9K0
发布2019-03-06 15:10:50
举报

Flutter提供了和原生做交互的方式,我们通过和原生交互就可以达到Flutter调用原生平台的相关功能的目的。换句话说,Flutter做不到的事(比如:设备有关的、第三方SDK、长连接等),我们都可以通过Flutter与原生交互来做到,其中插件的编写是必不可少的一个过程。我们一定要掌握插件的编写。 有人会说:“网上不是有很多插件库吗?”没错!但是如果别人写的插件功能没有你想要的怎么办?如果插件与你本地不兼容怎么办?如果你的项目急用一个功能,网上找不到插件库怎么办?那么这个时候学会自己编写插件库就非常有必要了!

本文首发在公众号**Flutter那些事**,欢迎大家多多关注。

下面详细的讲解一下Flutter如何创建一个插件,并且教大家上传到Pub库,让大家也体验一把自己的库被别人使用的自豪感。

本文示例源码同步在Github:https://github.com/AweiLoveAndroid/flutter_device_information,如有任何问题,欢迎提issue


Flutter系列博文链接 ↓:

工具安装:

Flutter基础篇:

  • Flutter基础篇(1)-- 跨平台开发框架和工具集锦
  • Flutter基础篇(2)-- 老司机用一篇博客带你快速熟悉Dart语法
  • Flutter基础篇(3)-- Flutter基础全面详解
  • Flutter基础篇(4)-- Flutter填坑全面总结
  • Flutter基础篇(5)-- Flutter代码模板,解放双手,提高开发效率必备
  • Flutter基础篇(6)-- 水平和垂直布局详解
  • Flutter基础篇(7)-- Flutter更新错误全面解决方案(图文+视频讲解)

Flutter进阶篇:

  • Flutter进阶篇(1)-- 手把手带你快速上手调试Flutter项目
  • Flutter进阶篇(2)-- Flutter路由详解
  • Flutter进阶篇(3)-- Flutter 的手势(GestureDetector)分析详解
  • Flutter进阶篇(4)-- Flutter的Future异步详解
  • Flutter进阶篇(5)-- 使用Flutter创建插件详解并发布到Pub库
Dart语法系列博文链接 ↓:

  • Flutter基础篇(2)-- 老司机用一篇博客带你快速熟悉Dart语法(这是Dart语法系列的第一篇)
  • Dart的语法详解系列篇(二)-- 类与函数
  • Dart的语法详解系列篇(三)-- mixin入门
  • Dart的语法详解系列篇(四)-- 泛型、异步、库等有关详解

一、创建插件

在这里以调用原生平台设备信息为例做讲解。手把手教大家写一个Flutter插件。

(1)首先看看Flutter调用原生平台交互过程

Flutter中通过MethodChannel和原生平台做交互。如图所示:

Flutter调用原生平台交互示意图

(2)创建Flutter Plugin插件项目

使用Android Studio/Intellij IDEA创建项目,截图如下:

使用flutter create命令行创建,项目名称放在最后,命令如下所示:

代码语言:javascript
复制
flutter create --org com.awei --template=plugin -a java --description "A Flutter plugin for using devices informations in Android" flutter_device_information

常用的命令参数如下:

  • --org:定义项目的组织结构
  • -a:用什么语言编写Android代码
  • --description:插件的描述
  • -i:用什么语言编写iOS代码

上面那个命令的意思是:创建一个插件,包名为“com.awei”,指定Android代码使用Java语言编写,插件项目名称为“flutter_device_information”,项目描述为:“A Flutter plugin for using devices informations in Android”。

(3)下面看一下完整的目录结构

如下图所示:

完整的项目结构图

其中:

  • “android”目录是插件API在Android平台的实现。
  • “ios”目录是插件API在iOS平台的实现。
  • “example”目录是使用插件的一个示例项目。
  • “lib”目录的文件,主要是创建“MethodChannel”,然后接收并处理来自原生平台发来的消息。
(4)插件编写步骤
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.02.22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、创建插件
    • (1)首先看看Flutter调用原生平台交互过程
      • (2)创建Flutter Plugin插件项目
        • (3)下面看一下完整的目录结构
          • (4)插件编写步骤
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档