转载: Android 线程通信

http://blog.csdn.net/Zengyangtech/archive/2010/07/29/5773090.aspx

 

在主activity中定一个Handler的成员,然后实现handlemassage函数,创建线程后在runable的run函数里new一个message,然后指定message对象的what成员,这个是指定message的一个id,然后在run中调用Handler的成员,使用其成员方法中的sendmessage(好像是叫这个),handlemassage函数中参数有个massage,根据该message参数中的what来对你发送message时指定的what来处理UI的功能

 

view plain copy to clipboard print ?
  1. private Handler mHandler = new Handler(){    
  2.              
  3.            public void handleMessage(Message msg) {    
  4.                switch (msg.what) {    
  5.                case ID_USER:    
  6.                         //获取传递的数据  
  7.                            //Bundle data = msg.getData();  
  8.                    //int count = data.getInt("COUNT");  
  9.                        //处理UI更新等操作  
  10.                }    
  11.            };    
  12.        };         
 

 

主activity中创建线程

 

view plain copy to clipboard print ?
  1. MyThread thread = new MyThread();                
  2. mThread = new Thread(thread);  
  3. mThread.start();  
 

 

MyThread  

 

view plain copy to clipboard print ?
  1. class MyThread implements Runnable {  
  2.     public void run() {       
  3.                //执行数据操作,不涉及到UI  
  4.             Message msg = new Message();       
  5.         msg.what = ID_USER;  
  6.           //这三句可以传递数据  
  7.       //  Bundle data = new Bundle();  
  8.        // data.putInt("COUNT", 100);//COUNT是标签,handleMessage中使用  
  9.        // msg.setData(data);  
  10.           
  11.         mHandler.sendMessage(msg); // 向Handler发送消息,更新UI   
  12.      }  

 

你可能感兴趣的:(thread,UI,android,user,2010)