안드로이드개발

안드로이드 NetworkOnMainThreadException 오류 해결

아뵹젼 2021. 8. 12.

 

NetworkOnMainThreadException 이 발생했다.

말 그대로 메인 Thread 에서 network 통신을 시도하였을 때 발생하는 예외이다.

 

Main 에서 간단히 http 통신 테스트를 하려했는데 발생하였다.

즉, AsyncTask 를 사용하여 Http 통신을 이용해라는 뜻이다.

 

AsyncTask는 사용자가 thread 를 만들 필요 없이, 안드로이드 내부에서 자체적으로 스레드를 생성하고,

비동기로 진행한다.

 

만약 통신 중 어떠한 에러가 발생하더라도 통신은 새로운 thread를 통해 비동기로 진행되므로, 더 큰 문제를 막을 수 있다. 물론 직접 thread 나 Runnable 을 구현해도 되겠지만,, 나는 AsyncTask 를 애용할 것이다.

 

 

댓글