티스토리 뷰
0. Android의 Thread 작업
- 백그라운드 작업을 위해서는 작업시점에 따라서 달라짐
- 작업을 언제 실행해야 할까 ..
1. Workmanager
- WorkManager은 실행이 보장
- 장치의 상태 존중
- 구글 서비스 유무에 상관없이 동작
- 실행중? 대기중? 상태 조회 가능
- 앱의 종료 여부와 상관없이 앱의 프로세스 수명과 별도의 작업에 추천
ex) 이미지를 서버에 업로드 하거나, 데이버베이스 정보 저장 등에 사용
2. Workmanager 클래스 특징
- WorkManager : 인수 / 제약조건을 가진 작업을 받아서, 큐에 추가합니다.
- Worker : 백그라운드 스레드에서 동작하는 doWork() 메서드 하나만 가지고 있습니다. 모든 백그라운드 태스크들은 이 메서드 안에서 수행되어야 합니다. 가능한한 심플하도록 구성해야 합니다.
- WorkRequest : Worker가 어떤 인수와 제약조건(ex : 인터넷, 충전 등)와 함께 큐에 추가되어야할지를 명시하는 역할입니다.
- WorkResult : 성공, 실패, 재시도
- Data : Worker로 주고받는 영구적인 키-벨류 쌍의 값 입니다.
출처: https://tristan91.tistory.com/480 [개발모음집]
3. Workmanager 사용하기
(1) dependencies 추가 - Sync 하기
(2) Worker을 상속받아서 클래스를 만든다 (자바 패키지를 만들기)
- 기본 구성
- Worker 상속 받고 alt+enter 2번 치면 이렇게 나옴
- Result에서 성공인지 아닌지 판명해줌
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.work.Worker;
import androidx.work.WorkerParameters;
public class Wokerclass extends Worker {
public Wokerclass(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
}
@NonNull
@Override
public Result doWork() {
return null;
}
}
|
cs |
<출처>
3. 오준석의 생활코딩 - Youtube --> 강의보고 정리한 내용
4.
'Programming > Android' 카테고리의 다른 글
[Android] View Container (0) | 2020.11.26 |
---|---|
[Android/Jetpack] Room DB 저장과 비동기처리 (0) | 2020.09.19 |
[Android/Jetpack] DataBinding (0) | 2020.09.18 |
[Android/Jetpack] Navigation (safe args를 사용한) (0) | 2020.09.18 |
[JAVA/Android] Android Architecture Components - MVVM, MVP, Clean 아키텍쳐 비교 (0) | 2020.09.18 |
댓글