1. 작업 정의하기


작업은 Worker 클래스를 상속하여 정의한다.

오버라이딩된 doWork() 메소드는 WoerkManager 에서 제공하는 백그라운드 스레드에서 비동기적으로 실행된다.

백그라운드에서 실행할 작업은 doWork() 메소드에 작성한다.

public class UploadWorker extends Worker {
   public UploadWorker(
       @NonNull Context context,
       @NonNull WorkerParameters params) {
       super(context, params);
   }

   @Override
   public Result doWork() {

     // Do the work here--in this case, upload the images.
     uploadImages();

     // Indicate whether the work finished successfully with the Result
     return Result.success();
   }
}

반환값은 작업의 성공여부, 실패여부, 재시도 여부 등을 반환한다.

Untitled

2. 작업 방식 정의하기


Work 클래스를 상속해 선언된 작업을 실행하려면, WorkManager 서비스로 예약을 해야한다.