Android 线程通信

 

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

 

  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中创建线程

  1. MyThread thread = new MyThread();                
  2. mThread = new Thread(thread);  
  3. mThread.start();  
 

MyThread  

  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.      }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值