スレッドの基本的な応用:ネットワーク進捗バーダイアログ


スレッドはいつも雲の中の霧のような感じがします.彼女はそんなに奥深くて、そんなに強いと思います.いつも私を恐れさせます.---カップ
public class HelloXML extends Activity {
        private static final int MESSAGETYPE_01 = 0x0001;
        private ProgressDialog progressDialog = null; 

 

        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                this.setContentView(R.layout.main);        
                
                progressDialog = ProgressDialog.show(HelloXML.this, " ", " , !");                                
                
                new Thread() {
                        public void run() {                        
                                try {
                                        
                                    //    

                                } catch (Exception e) {
                                        //  GUI 
                                        // tv.setText("Error: " + e.getMessage());
                                        
                                }
                                
                                Message msg_listData = new Message();
                                msg_listData.what = MESSAGETYPE_01;
                                handler.sendMessage(msg_listData);
                        }
                }.start();
        }

        private Handler handler = new Handler() {                

                public void handleMessage(Message message) {
                        switch (message.what) {
                        case MESSAGETYPE_01:                                        
                        // UI, ,                         
                                progressDialog.dismiss(); // 
                                break;
                        }
                }
        };
}