반응형
보통 안드로이드 버전 2.2 2.3 개발할시에 소켓 관련 클래스에서는
implements Runnable 을 사용하여 개발 하고 있습니다.
그러나 허니콤, 태블릿 사양 에서 개발 할경우에 Runnable 을 사용 할 경우에는 이런 아름다운 에러 메시지를 로그켓에서 보실수 있습니다.
E/TCP(599): android.os.NetworkOnMainThreadException
E/TCP(599): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1077)
E/TCP(599): at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:368)
E/TCP(599): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:208)
E/TCP(599): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:187)
E/TCP(599): at java.net.Socket.startupSocket(Socket.java:625)
E/TCP(599): at java.net.Socket.<init>(Socket.java:258)
이유인 즉슨 안드로이드 허니콤 버전에서 소켓 통신을 하기 위해서는 따로 Thread 를 생성하여 사용하도록 변경 하였습니다.
그러니 허니콤에서 소켓을 사용하여 개발 하실분들은 Thread 상속받아서 개발 하시면 정상적으로 소캣을 사용하실수 있게 되겠습니다.
반응형
'프로그래밍 > Android' 카테고리의 다른 글
안드로이드 : 동적 TableRow & Border Style 주기 (0) | 2011.12.08 |
---|---|
안드로이드 : JAVA 코드에서 Drawable 설정하기 (0) | 2011.12.08 |
안드로이드 : apk 설치시 Activity 마다 아이콘이 생기는 경우 (0) | 2011.12.02 |
안드로이드 : TableLayout - TableRow 꾸미기, Style 주기 (0) | 2011.12.01 |
안드로이드 : 소캣 등 인터넷 자원을 사용 manifest 수정 (0) | 2011.12.01 |