728x90
안녕하세요. 오늘은 WokerManager 사용해서 백그라운드 작업을 한번 해보겠습니다.
먼저 build.gradle(:app)에 의존성 추가를 하겠습니다.
implementation "androidx.work:work-runtime-ktx:2.7.0"
그리고 나서 Woker 클래스를 생성해 줍니다. 저는 PrintWorker로 설정하겠습니다.
PrintWorker.java
public class PrintWorker extends Worker {
public PrintWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
}
@NonNull
@Override
public Result doWork() {
Log.d("TAG", "Hello World");
return Result.success();
}
}
이제 메인액티비티 클래스에서 실행시키겠습니다.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PeriodicWorkRequest workRequest = new PeriodicWorkRequest.Builder(
PrintWorker.class, 15, TimeUnit.MINUTES)
.build();
WorkManager.getInstance(this).enqueue(workRequest);
}
}
WorkerRequest는 15분 주기로 반복시키는 것이 최소 단위로 그 이하로 설정할 경우 런타임 예외가 발생하고 반복되지 않습니다.
'안드로이드 자바' 카테고리의 다른 글
[Android][Java] ConnectivityManager 네트워크 상태 모니터링 (0) | 2023.05.11 |
---|---|
[Android][Java] 구글 맵에 현재 위치 표시하기 (6) | 2023.05.10 |
[Android][Java] 앱이 요청한 권한(permission)의 이름을 화면에 출력해보기 (0) | 2023.05.05 |
[Android][JAVA] MPAndroidChart 라이브러리에서 xAxis 에 String 값 넣기 (0) | 2023.05.03 |
[Android][JAVA]간단한 텍스트뷰 자동완성 (0) | 2023.05.02 |