[ANDRIOID - KOTLIN] runOnUiThread - 작업 스레드에서 UI 업데이트 요청하기

[문제 상황]

스레드를 사용하여 크롤링 데이터를 받아와서 UI의 텍스트를 수정하는 작업을 하려고 했다.

하지만, 크롤링 데이터를 받고 UI가 수정이 되지 않아, 실행 순서를 체크해 보았다.

실행 체크를 해보니 (UI 업데이트 -> 스레드 내부의 작업) 형태로 진행이 되었다.

 

1차 해결을 위해서 UI 업데이트를 스레드 내부에 넣어주었다. 하지만 오류가 발생하여서 구글링을 통해 찾아보았다.

 

그 결과 UI를 업데이트 하는 작업은 main 스레드 내부에서 작업이 이루어지고 별도의 스레드에서는 실행이 안된다고 한다.

그렇다면 이를 해결하는 방법이 무엇이 있을까?

 

[작업 스레드에서 UI 업데이트 요청하기]

 

[runONUiThread]

runOnUiThread는 UI스레드로 지정된 작업을 한다.

실제 구현한 코드를 보여주면. 다음과 같다

Thread(
                Runnable {
                    /* 쓰레드 작업*/
                    runOnUiThread {
                                /* Ui 업데이트 작업 */
                        }
                    }
                }
            ).start()

 

'안드로이드 > KOTLIN' 카테고리의 다른 글

Retrofit @Get, @Query 인코딩 문제 해결방법  (0) 2023.02.01
[Jitpack] 사용하기  (0) 2023.01.17
Retrofit2  (0) 2022.07.20
[KOTLIN] - PendingIntent  (0) 2022.07.16
Room 사용법 [kotlin] - android local database  (0) 2022.07.12