Android中的消息队列

如何在Android中使用消息队列

1.为什么要使用消息队列

  我们要把一些比较耗时的任务分配为一个线程完成,不然如果在UI线程内完成,过长时间完成不了则会出现问你等待还是关闭。用到线程就会带来一个问题,怎么进行子线程和主线程之间的通信。子线程把任务做完了怎么通知主线程,或者怎么把子线程完成的数据传回主线程。这就要使用消息队列。

2.怎么使用消息队列

  (1)在UI线程中声明并实例化一个Handler类,自己重写里面的handleMessage(Message msg)方法,这个方法运行在主线程,可以对主线程的控件进行操作。

	private Handler handler = new Handler(){
		@Override
		public void handleMessage(Message msg) {
			// TODO Auto-generated method stub
			if(msg.what == 0){
				tv_num.setText(msg.arg1+"");
			}
		}
	};

   这个方法中有个参数msg,意思就是当有消息发送时就调用这个方法。可以根据msg.what来选择处理的方式

  (2)在子线程中用handler对象发送消息(handler.sendMessage(msg))

btn_count.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值