《Android》『Interface』- 利用 Interface 為類別定義 Callback 機制

《簡單介紹》

在開發 android 程式專案的過程中,我們通常都會有一個習慣,就是將特定的功能模組化,意思就是假設當我們需要執行某些方法或流程的時候,將這些方法或流程特別寫成一個類別,方便讓我們在 MainActivity 以物件導向的方式,調用該類別以執行所需的功能,這麼做的好處是增加了程式的靈活度,且使程式碼更容易閱讀。

當我們把特定功能模組化以後,在程式執行到此功能時,勢必會跑到我們模組化後的類別中,有時我們必須讓程式碼的流程在特定的時候可以回到 MainActivity 中,以繼續其他的流程,這個時候,透過 Interface 來定義 Callback 機制就是一個很不錯的方式。

 

《實作方法》

這邊簡單講解實作的方式,程式碼片段如下 –

DoSomethingUtil.java

首先,我們宣告了一個名為 DoSomethingUtil 的類別,表示我們將透過實作此類別的方法來完成一些事情,我們在這個類別裡定義了 private 權限的建構子與 getInstance 方法,表示在使用此類別產生的物件時,我們希望這個物件是唯一的,接著定義了三個 static 方法,這麼做即表示我們不需另外宣告基於此類別的物件,就可以直接使用類別裡面的方法,接著我們定義了 DoSomethingCallback 這個介面,並透過此介面回傳自定義的資料類別 Item,最後,透過 doMethodWithCallback 這個方法,定義在不同條件時呼叫 DoSomethingCallback 介面的onMessageReceived,這麼一來,當我們在 MainActivity 中實作好 DoSomethingCallback 介面的內容後,我們就可以藉由 doMethodWithCallback 將流程導回 MainActivity 中。

MainActivity.java

在 MainActivity 中,我們透過直接呼叫 DoSomethingUtil 類別中所定義的 static 方法,以及實作 DoSomethingUtil 類別中所定義的 DoSomethingCallback 介面,搭起 MainActivity 與 DoSomethingUtil 類別之間的橋樑,我們可以自行決定何時從 MainActivity 呼叫 DoSomethingUtil 類別中方法,也可以決定在何時要從類別發 Callback 給 MainActivity,並且傳遞程式執行時所需的資訊。

賽肥膩膩

我們是低調到不行的肥膩夫妻檔,一路上一邊吵鬧一邊記錄著生活大小事,最近迷上了宅在家追劇,希望能透過文字將所有看過的影集好好紀錄,整理成屬於我們自己的回憶資料庫。

上 / 下一篇文章

臉書留言

一般留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *