iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Mobile Development

Flutter - 從 Packages & Plugins 掌握原生 系列

在使用Flutter 寫App 時,常常會需要應用到原生的功能,這時就會需要用到pub.dev 上的library,但總會有想要的功能需求沒有出現在pub.dev 上,與其總是依賴於別人的library,不如自己來開發library 吧 !
主要讓我們了解Flutter 是如何與原生溝通,並實作出我們的功能,最後設計好接口給Flutter 使用

參賽天數 21 天 | 共 30 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day11 Platform Channel - EventChannel

EventChannel EventChannel:用於接收一系列訊息,這些訊息被包裝到 Stream 中,receiveBroadcastStream 返回一...

2021-09-26 ‧ 由 Ryder 分享
DAY 12

Day12 開發插件 - 範例程式碼介紹01 Flutter 端

官方推薦的做法是使用cmd 來創建,可以去官方文件參考,這邊我來用Android Studio 來開發插件,以做一個獲得設備電池電量資訊的插件示範,順便對Flu...

2021-09-27 ‧ 由 Ryder 分享
DAY 13

Day13 開發套件 - 範例程式碼介紹02 Android 端

接著來看Native 端(Android): 預設建立的android/.../BatterylevelPlugin.kt: class Batteryleve...

2021-09-28 ‧ 由 Ryder 分享
DAY 14

Day14 開發套件 - 範例程式碼介紹03 iOS 端

最後來看Native 端(iOS): 補充:iOS 中的 .h 和.m 檔 .h 為標頭檔,做為宣告屬性及方法使用 .m 為Objective-C檔,做為實際...

2021-09-29 ‧ 由 Ryder 分享
DAY 15

Day15 開發套件 - 實作MethodChannel

Flutter 端: lib/batterylevel.dart:新增取得電池電量資訊方法,透過建立的MethodChannel傳入方法名來呼叫Native 端...

2021-09-30 ‧ 由 Ryder 分享
DAY 16

Day16 開發套件 - 實作EventChannel

使用上跟MethodChannel類似,EventChannel即為MethodChannel與Stream的結合 Flutter 端: 首先同樣先建立Chan...

2021-10-01 ‧ 由 Ryder 分享
DAY 17

Day17 開發套件 - 實作BasicMessageChannel

用於雙向的單次訊息傳遞,包括發送訊息、接收訊息兩個功能 經過以上的實作,其實兩端的通訊步驟都差不多,首先在兩端建立想要Channel並指定名稱,且在兩端通道名...

2021-10-02 ‧ 由 Ryder 分享
DAY 18

Day18 Plugin 從零開始到上架 01

目標 接下來將實作一個Flutter Plugin 來上架至pub.dev,為整合Instagram 基本顯示 API在Android 以及iOS 的功能,此A...

2021-10-03 ‧ 由 Ryder 分享
DAY 19

Day19 Plugin 從零開始到上架 - 取得授權碼(Android)

目標 取得INSTAGRAM_CLIENT_ID、INSTAGRAM_CLIENT_SECRET 和 REDIRECT_URI 後,我們就要透過這些資料拿到In...

2021-10-04 ‧ 由 Ryder 分享
DAY 20

Day20 Plugin 從零開始到上架 - 取得授權碼(iOS)

接下來我們先切到iOS,換去處理iOS是如何取得權杖的 目標 與Androi 步驟一樣,須先取得INSTAGRAM_CLIENT_ID、INSTAGRAM_CL...

2021-10-05 ‧ 由 Ryder 分享