마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

아 미궁속이네요...메인쓰레드의 통신처리

0 추천
제가 알던 모든것들이 부정이 되는 순간입니다.

뭐죠 진짜 ㅠㅠ

제가 알기로는 분명 4.0부터는 메인쓰레드에서 HttpURLConnection을 포함한 모든 통신처리는 못하는걸로 알고 있고

그래서 지금까지 쓰레드로 따로 빼서 처리했는데요.

지금 회사 프로젝트에 보니까 메인쓰레드에서 NetworkUtil클래스에 있는 doHttpConnection이라는 메서드를 호출하네요.

물론 둘다 전개발자가 따로 만들어놓은 클래스입니다.

FileActivity라는 엑티비티 클래스에서 그냥 onCreate에서 String url = NetworkUtils.doHttpConnection(str);

이런식으로 넘기는데도 오류가 나지 않네요.

메인쓰레드에서 이렇게 사용하는데 왜 안죽는거죠?

혹시 몰라 따로 테스트 프로젝트를 만들고 저 NetworkUtils 클래스 고대로 복사해서 MainActivity에서 동작시켯더니

새로 만든 프로젝트에서는 오류가 납니다.

도대체 무슨 비밀이 숨어 있을까요ㅠㅠ
갸아악 (21,260 포인트) 님이 2014년 5월 12일 질문

2개의 답변

0 추천
 
채택된 답변
프로젝트에 설정된 안드로이드 버전이 낮은거 아닌가용?
익명사용자 님이 2014년 5월 12일 답변
갸아악님이 2014년 7월 25일 채택됨
설정된 버전이 낮더라도 구동은 갤노트2에서 했는데
그럼 갤노트2가 젤리빈인데 여기서는 죽어야지 정상이 아닐까요?
설정된 버전을 따라가는게 정상입니다.
기기의 버전을 따라가게 만들 경우 상당수 앱이 갤노트2 등의 젤리빈 기기에서 죽어버릴텐데, 그렇게 할 수가 없지요.
아 그런건가요?;;;;;;;;;;
네 프로젝트에 설정된 버전을 따라가요. 그 프로젝트에 설정되어있는 minSdkVersion을 높게 잡아보세요. 그러면 오류뜰거에요.
0 추천
새로만든 프로젝트의 설정부분도 같이 했는데도 그런가요? 전 버전올리니 되던 코드가 죽던데요.. 메인에서 네트워크 작업을 할 때요..
인연 (31,880 포인트) 님이 2014년 5월 12일 답변
...