작업은 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();
}
}
반환값은 작업의 성공여부, 실패여부, 재시도 여부 등을 반환한다.
Work 클래스를 상속해 선언된 작업을 실행하려면, WorkManager 서비스로 예약을 해야한다.