【Kotlin/Android】CoroutineWorkerの使い方!WorkManager

この記事からわかること
- Android Studio/KotlinのWorkManagerの使い方
- CoroutineWorkerを実装する方法
- 非同期処理をWorkManagerで使用するには?
\ アプリをリリースしました /
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
CoroutineWorkerとは?
CoroutineWorkerはWorkManagerライブラリに含まれておりCoroutine(Kotlin Coroutines)を使用して非同期タスクを実行するためのWorkerのサブクラスです。通常のWorkerクラスではKotlin Coroutinesに対応していないのでKotlin Coroutinesを使用した非同期タスクを絡ませたい場合はCoroutineWorkerを使用します。
実装方法
CoroutineWorker
は独自のワーカーサブクラスを実装する際にWorker
の代わりに継承させます。Worker
では通常のメソッドだったdoWork
がCoroutineWorker
ではsuspend
が付与されています。
suspend
が付与されていることでdoWork
メソッド内で別の非同期処理であるsuspend関数をそのまま実行することができます。
呼び出す際は非同期処理であることを意識する必要はなく通常のWorkerのようにenqueue
メソッドで実行することができます。
CoroutineWorkerを使用しなくてもCoroutine処理を実装することはできますが、だいぶスッキリ記述できるのは大きなメリットですね。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。