2013년 10월 29일 화요일

[안드로이드 앱 개발] StrictMode$AndroidBlockGuardPolicy.onNetwork... 에러가 발생할때

Error Message:  
                at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork
                (StrictMode.java:1077)

위의 에러를 해결하기 위해서는 아래의 두 가지 조치를 해줘야한다.

1. 안드로이드 3.X버전이상에서 인터넷 통신(소켓, http)을 통해서 연결을 할때는 메인스레드에서는 안되고 스레드를 꼭 하나더 만들어 연결을 해야되고 UI를 업데이트하기 위해서는 핸들러를 꼭 사용해야 된다.

2.   StrictMode.enableDefaults()를 삽입해야한다. 
      단, 안드로이드 최소버전을 9이상으로 맞춰야 위의 API사용이 가능하다.
   public void onCreate(Bundle savedInstanceState) {        
     StrictMode.enableDefaults();   
     super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

댓글 없음:

댓글 쓰기