728x90 안드로이드/Wrok Manager5 WorkManger Worker 주기적 반복 실행 package com.anushka.workmanagerdemo1 import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Toast import androidx.lifecycle.Observer import androidx.work.* import kotlinx.android.synthetic.main.activity_main.* import java.util.concurrent.TimeUnit class MainActivity : AppCompatActivity() { companion object{ const val KEY_COUNT_VALUE = "key_count" } override.. 2022. 12. 6. WorkManger Chaining Works WorkManger에서 병렬로 work를 실행할려면 리스트로 work 넣어주면 된고 순차적으로 실행시킬려면 .then()으로 실행 package com.anushka.workmanagerdemo1 import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Toast import androidx.lifecycle.Observer import androidx.work.* import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { companion object{ const val KEY_.. 2022. 12. 5. WorkManager Worker의 Input, Output data 설정 Data.Builder로 데이터 생성 후 request에 setInputData로 넘겨준다 Woker의 데이터를 it.outputData를 사용하여 받을 수 있다 package com.anushka.workmanagerdemo1 import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Toast import androidx.lifecycle.Observer import androidx.work.* import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { companion obje.. 2022. 12. 5. 안드로이드 WokrManger 실행 조건 설정(Constraints) Worker import android.content.Context import android.util.Log import androidx.work.Worker import androidx.work.WorkerParameters import java.lang.Exception class UploadWorker(context: Context,params:WorkerParameters) : Worker(context,params) { override fun doWork(): Result { try { for (i in 0..600000) { Log.i("MYTAG", "Uploading $i") } return Result.success() } catch (e:Exception){ return Result... 2022. 12. 1. 안드로이드 WorkManager Worker 상태 업데이트 Worker import android.content.Context import android.util.Log import androidx.work.Worker import androidx.work.WorkerParameters import java.lang.Exception class UploadWorker(context: Context,params:WorkerParameters) : Worker(context,params) { override fun doWork(): Result { try { for (i in 0..600000) { Log.i("MYTAG", "Uploading $i") } return Result.success() } catch (e:Exception){ return Result... 2022. 12. 1. 이전 1 다음 728x90