티스토리 뷰

프로그래밍/모바일

네트워크 오류

터프 프로그래머 2012. 1. 16. 12:01

01-16 11:39:43.596: I/System.out(17421): Exception : android.os.NetworkOnMainThreadException


이 오류가 갑자기 났다.

일단 결론부터 말하자면 안드로이드 버전 때문에 생긴 오류였다.
게임을 만드는데 게임랭킹을 구현하느라 네트워크를 쓰고 있었는데,
이전 게임에서는 잘 되던게 이번 게임에서는 왜 안되나 하고 봤더니
자세히 확인은 안해봤지만 안드로이드 버전 1.6에서는 네트워크 관련된 작업을 할 때 아무데서나 해도 상관없지만
2.2 버전(내가 2.2 버전에서 안 됬기 때문에. 몇 버전부터인지는 모름)부터는
Main Thread(UI)에서 네트워크 호출을 하면 무조건 error로 간주한다는 것이다.
(참고 :  http://ironheel.tistory.com/48)

따라서 2.2 버전 이상에서 네트워크를 사용하려면  AsyncTask나 Thread를 사용하여 UI Thread에 영향을 주지 않도록 작성해야 한다.
(참고 :  http://androidhuman.tistory.com/483)


해결방법 :
그냥 안드로이드 버전을 1.6으로 낮췄다. 그러니까 잘~ 된다.
참.... 의미 없는 보안인 것 같다 -_-; 
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday