android 연결망을 해결할 때 "android.os.Network OnMainThreadException"이상이 발생하는 방법

1237 단어
android 2.3에서 디자인된 다운로드 프로그램으로android4.0에서 타임즈android를 실행합니다.os.Network OnMainThreadException 이상, 원래 4.0에서 네트워크에 접근하는 것은 메인 프로그램에서 할 수 없습니다. 두 가지 방법으로 해결할 수 있습니다. 하나는 메인 프로그램에서 증가하는 것입니다.
        //   StrictMode  
        StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
                .detectDiskReads()
                .detectDiskWrites()
                .detectNetwork()   // or .detectAll() for all detectable problems
                .penaltyLog()
                .build());
        StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
                .detectLeakedSqlLiteObjects()
                .detectLeakedClosableObjects()
                .penaltyLog()
                .penaltyDeath()
                .build());

다른 하나는 다운로드 작업을 수행하기 위한 스레드를 시작하는 것입니다.
public void onCreate(Bundle savedInstanceState) {  
super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //           
        new Thread(downloadRun).start();
    }
    
    /**
     *     
     */
    Runnable downloadRun = new Runnable(){


		@Override
		public void run() {
			// TODO Auto-generated method stub
			updateListView();
		}
    };

좋은 웹페이지 즐겨찾기