Android(Kotlin)

WorkManager Chaining

----___<<<<< 2022. 3. 30. 02:12

 간단한 예제를 만들어봤습니다.

 

 A1

 

class MyWorker_A_1 (appContext : Context, workerParams: WorkerParameters) : CoroutineWorker(appContext,workerParams){

    private val TAG = MyWorker_A_1::class.java.simpleName

    override suspend fun doWork(): Result {

        Log.d(TAG, "doWork")

        a1()

        return Result.success()

    }

    suspend fun a1(){

        Log.d(TAG, "a1")

        for(i in 0..10){
            Log.d(TAG, i.toString())
            delay(1000)
        }

    }

}

 

 

 A2

 

class MyWorker_A_2 (appContext : Context, workerParams: WorkerParameters) : CoroutineWorker(appContext,workerParams){

    private val TAG = MyWorker_A_2::class.java.simpleName

    override suspend fun doWork(): Result {

        Log.d(TAG, "doWork")

        a2()
        return Result.success()
    }

    suspend fun a2(){

        for(i in 0..10){

            Log.d(TAG, i.toString())
            delay(1000)

        }

    }

}

 

 

 B1

 

 

class MyWorker_B_1(appContext : Context, workerParams: WorkerParameters) : CoroutineWorker(appContext,workerParams){

    private val TAG = MyWorker_B_1::class.java.simpleName

    override suspend fun doWork(): Result {

        Log.d(TAG, "doWork")

        b1()

        return Result.success()

    }

    suspend fun b1(){

        for(i in 0..10){

            Log.d(TAG, i.toString())
            delay(1000)

        }

    }

}

 

 

 

 

 결과는 아래와 같이 나옵니다

 

 

 

 

 - 참조

 

https://developer.android.com/topic/libraries/architecture/workmanager/advanced/coroutineworker?hl=ko#samples 

 

CoroutineWorker의 스레딩  |  Android 개발자  |  Android Developers

CoroutineWorker의 스레딩 WorkManager는 Kotlin 사용자에게 코루틴을 위한 최고 수준의 지원을 제공합니다. 시작하려면 gradle 파일에 work-runtime-ktx를 포함해야 합니다. Worker를 확장하는 대신 doWork()의 정지

developer.android.com

 

https://jeongupark-study-house.tistory.com/36

 

Android - WorkManager (5) - Chaining Work

이전 글 : 2019/10/17 - [프로그래밍/Android] - Android - WorkManager (4) -Observing intermediate Worker progress 출처- Android developer chaining work WorkManager를 사용하면 여러 종속 작업을 지..

jeongupark-study-house.tistory.com

 

'Android(Kotlin)' 카테고리의 다른 글

기존 Retrofit Callback 계속 붙이면?  (0) 2022.04.13
Android PeriodicWorkRequest Memo  (0) 2022.04.07
Android Log가 안뜰 때  (0) 2022.03.18
RecyclerView Example  (0) 2022.03.09
Android Notification  (0) 2022.03.06