一個簡單的秒錶應用程序,帶有使用前台和綁定服務的 jetpack compose
檢查 YouTube 的完整影片教學
該應用程式基本上由 3 個不同的文字單元組成,分別代表小時、分鐘和秒。使用者介面上還有兩個按鈕。第一個按鈕將根據服務狀態進行更改,第二個按鈕將允許我們取消前台服務,這將導致秒錶重置。
您可以透過 UI 按鈕或通知面板控制秒錶。由於我們正在使用服務,因此即使我們關閉應用程序,我們也可以透過通知面板來追蹤秒錶狀態。
Hilt 是 Android 的依賴注入庫,可減少在專案中進行手動依賴注入的樣板。進行手動依賴項注入需要您手動建構每個類別及其依賴項,並使用容器來重複使用和管理依賴項。
Hilt 透過為專案中的每個 Android 類別提供容器並自動管理它們的生命週期,提供了在應用程式中使用 DI 的標準方法。 Hilt 建構在流行的 DI 庫 Dagger 之上,受益於 Dagger 提供的編譯時正確性、運行時效能、可擴展性和 Android Studio 支援。
綁定服務是 Service 類別的實現,它允許其他應用程式綁定到它並與其互動。若要為服務提供綁定,您必須實作 onBind() 回呼方法。此方法傳回 IBinder 對象,定義用戶端可用於與服務互動的程式介面。
前台服務執行使用者註意到的操作。
前台服務顯示狀態列通知,以便使用者主動了解您的應用程式正在前台執行任務並消耗系統資源。
運行 Android 12(API 等級 31)或更高版本的裝置可為短期運行的前台服務提供簡化的體驗。在這些裝置上,系統會等待 10 秒,然後再顯示與前台服務相關的通知。但也有一些例外;多種類型的服務總是立即顯示通知。