4가지 스레드에서 UI 인터페이스를 조작하는 방법 요약

2248 단어
우리는 자주 백엔드 라인에서 시간을 소모하는 조작을 한다. 예를 들어 네트워크에 가서 데이터를 얻는 것이다.그러나 데이터를 가져와서 페이지에 표시해야 할 때 약간의 번거로움이 발생할 수 있다. 왜냐하면android의 UI 페이지는 다른 라인에서 직접 조작할 수 없다는 것을 우리는 알고 있기 때문이다.다음 4가지 방법은 스레드에서 UI 인터페이스를 조작하는 데 사용됩니다.방법1:Handler
하위 스레드가 Handler의 sendMessage (message) 를 호출하여 이벤트를 보냅니다.
mHandler = new Handler() {  
   @Override  
   public void handleMessage(Message msg) {  
        //      
       myText.setText(        );  
      super.handleMessage(msg);  
   }  
  };  
public class MyThread extends Thread {  
     public void run() {  
​    ​    ​    //       
​    ​    ​    ​loadNetWork();  
            Message msg = new Message();  
            mHandler.sendMessage(msg);// Handler    ,  
      }  
 }  

메서드2: View.post(Runnable )
public void onClick( View v ) {  
        new Thread( new Runnable() {  
                public void run() {  
                       //       
​    ​    ​    ​    ​    ​      loadNetWork();  
​                          myText.( new Runnable() {  
                                  myText.setText(        );  
                          });  
                 }  
        }).start();  
} 

메서드 3: Activity.runOnUiThread(Runnable )
여view.post 유사
public void onClick( View v ) {  
        new Thread( new Runnable() {  
                public void run() {  
                       //       
​    ​    ​    ​    ​    ​      loadNetWork();  
​                         Activity.runOnUiThread.( new Runnable() {  
                                  myText.setText(        );  
                          });  
                 }  
        }).start();  
} 

메서드4: AsyncTask
//UI       
new DownloadImageTask().execute( "www.91dota.com" );  
private class LoadTask extends AsyncTask {  
    protected String doInBackground( String... url ) {  
         return loadDataFormNetwork( url[0] );//        
    }  
  
    protected void onPostExecute( String result ) {  
          myText.setText( result ); //                
  
   } }

원본 주소:http://www.iteye.com/topic/1113109

좋은 웹페이지 즐겨찾기