코린이 탈출기

runOnUiThread 본문

안드로이드/안드로이드

runOnUiThread

50HEE 2021. 6. 24. 19:17

로그인이나 회원가입과 같은 API 서버를 통해 정보를 검색하는 것은 백그라운드에서 처리합니다.

이러한 백그라운드 처리 중에 UI를 건드리는 작업을 할 경우에는 오류가 생깁니다.

여기서 오류는 눈에 보이는 오류(런타임 오류)가 아닌 동작 중에서 생기는 오류여서 어디가 잘 못 된지는 알기 어려울 수 있습니다. 

예를 들면, 화면을 새로고침을 하고 싶거나, 토스트를 띄우고 싶을 경우에 해당합니다. 그러면 어떻게 해야 할까요?

 

만약 아무런 조치 없이 코드를 작성할 경우에는 프로그램 자체에서 위험하다고 판단해서 앱을 죽여버립니다.

 

 

이때 사용하는 것이 runOnUiThread입니다.

즉, runOnUiThread는 서브 스레드에서 작업하는 코드를 일부 Main 스레드로 처리하게 하는 것입니다.

화면과 관련된 작업의 경우 Main 스레드를 거쳐야하기 때문에 백그라운드에서 화면을 작업하고 싶을 경우 runOnUiThread를 이용하는 것입니다.

코드를 작성하는 것은 매우 쉽습니다.

토스트 코드를 runOnUiThread의 중괄호{ } 안에 넣어주면 됩니다.

 

 

<코드 작성>

runOnUiThread{

Toast.makeText(띄울 화면, "원하는 내용", Toast.LENGTH_SHORT).show()

}

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

AlertDialog  (0) 2021.08.05
toHttpUrlOrNull  (0) 2021.07.01
공공 데이터  (0) 2021.06.22
<Button> 설정 바꾸기  (0) 2021.06.08
색상 추출 도구 - 픽픽  (0) 2021.05.24
Comments