Flutter自定義插件開發(fā)

一 前言

如果 Flutter 或其社區(qū)沒有你需要的插件,那么你需要構(gòu)建自己的插件。

Flutter 插件的架構(gòu)就像在 Android 中使用 Event bus 一樣:你可以發(fā)出消息并讓接收者進(jìn)行處理,最后接收者將結(jié)果發(fā)回給你。在這種情況下,接收者將是 iOS 或 Android 平臺。

二 ?Flutter package包括兩種類型

??Dart packages(Dart包) ?和 Plugin packages(插件包)

1 Dart packages的開發(fā)

?1) 創(chuàng)建?

?命令?flutter create --template=package shelf

2) 實(shí)現(xiàn)?

目錄結(jié)構(gòu)

其中 shelf.dart里要export src里對應(yīng)的dart文件

可參考?開源Demo

2 Plugin package開發(fā)

1)創(chuàng)建?

命令?flutter create --template=plugin hello 或者??flutter create --org com.example ?--template=plugin hello

其中 ?com.example為包名

2)實(shí)現(xiàn)

? ? a:定義API(.dart)?

? ? ? ?對應(yīng)路徑 lib/hello.dart

? ? b:添加Android平臺代碼(.java/.kt)

? ? ? ?對應(yīng)路徑android/src/main/java/com/example/?hello/HelloPlugin.java

? ? ? ?實(shí)現(xiàn)MethodCallHandler接口?

? ? c:添加iOS平臺代碼(.h+.m/.swift)

? ? ? ? 對應(yīng)路徑ios/Classes/HelloPlugin.m

? ? d:API和平臺代碼聯(lián)系起來 ?這一步使用:platform channels, channel詳解可查看http://www.itdecent.cn/p/cb96d62f5042

? ?可參考?開源Demo


官方鏈接: ?http://doc.flutter-dev.cn/developing-packages/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容