투케이2K

64. (kotlin/코틀린) Handler() postDelayed 사용해 일정 시간 후 작업 예약 실행 실시 본문

Kotlin

64. (kotlin/코틀린) Handler() postDelayed 사용해 일정 시간 후 작업 예약 실행 실시

투케이2K 2022. 9. 26. 08:23

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

    // TODO [테스트 메소드 정의 실시]
    fun testMain(){
        Log.i("---","---")
        Log.d("//===========//","================================================")
        Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 테스트 함수 동작 실시]")
        Log.d("//===========//","================================================")
        Log.i("---","---")

        /**
         * ------------------------------------
         * TODO [요약 설명]
         * ------------------------------------
         * 1. Handler : 비동기적 로직 처리를 수행할 때 사용합니다
         * ------------------------------------
         * 2. postDelayed : 일정 시간 경과 후 블럭 안에 선언한 로직이 수행됩니다
         * ------------------------------------
         * */


        // [로직 처리 실시]
        try{

            // [현재 날짜 및 시간 확인]
            val long_now = System.currentTimeMillis()
            val t_date = Date(long_now)
            var t_dateFormat = SimpleDateFormat("yyyy-MM-dd kk:mm:ss E", Locale("ko", "KR"))

            Log.i("---","---")
            Log.w("//===========//","================================================")
            Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 핸들러 postDelayed 요청 시작]")
            Log.i("","\n"+"[date : "+t_dateFormat.format(t_date)+"]")
            Log.w("//===========//","================================================")
            Log.i("---","---")

            // [변수 선언 실시]
            Handler().postDelayed({ //TODO 재사용 방식

                // [현재 날짜 및 시간 다시 확인]
                val long_now_2 = System.currentTimeMillis()
                val t_date_2 = Date(long_now_2)
                var t_dateFormat_2 = SimpleDateFormat("yyyy-MM-dd kk:mm:ss E", Locale("ko", "KR"))

                Log.i("---","---")
                Log.w("//===========//","================================================")
                Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 핸들러 postDelayed 작업 완료]")
                Log.i("","\n"+"[date : "+t_dateFormat_2.format(t_date_2)+"]")
                Log.w("//===========//","================================================")
                Log.i("---","---")

            },5000)


        }
        catch(e : Exception){
            Log.i("---","---")
            Log.e("//===========//","================================================")
            Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 에러 상황 발생]")
            Log.i("","\n"+"[error : "+e.message+"]")
            Log.e("//===========//","================================================")
            Log.i("---","---")
        }
    }
 

[결과 출력]


반응형
Comments