14,handler的简单示例+代码

1,序

公司招聘的应届大学生,有一些有点不大明白的东西,好像对handler都是一知半解,所以我直接做了这个demo,给各位同事以及自己做个备份,希望能给大家带来帮助。

2,概念

首先咱们必须要明白,安卓是一个不允许线程阻塞,而且ui的界面更新只能在主线程里面进行更新,但是如果有十分耗时或者十分复杂以及十分麻烦甚至你觉得十分蛋疼的工作(好吧,我承认,我忘记activity阻塞多少秒就会报错了,5秒?10秒?这个重要么?就算是4秒的操作,你敢放到主线程里面吗?肯定不可能吧,如果放进去你肯定会经常遇到机器假死报错的。),你是不能放在主线程之中的,你必须要新开一条线程进行。但是这条新开的线程,怎么通知主线程已经完成、怎么把处理完成数据返回给主线程以便让主线程更新UI呢?

这个时候,handler就出现了~~~~

3,介绍

handler其中里面有handMessage(Message msg)和sendMessage(Message msg),你完全可以理解成子线程完成了耗时操作,通过sendMessage()报告给主线程,主线程则通过handMessage()接受子线程报告,从而进行了更新UI这个操作。

而sendMessage(Message msg)和handMessage(Message msg),之中Message msg对象是有两种构造方法的

方法1:

				Message message = new Message();
方法2:

<span style="white-space:pre">		</span>     h.sendMessage(h.obtainMessage(1, "abc"));
4 ,本例子的一些特别要介绍的地方

在例子的22行,对handler进行了final的定义,这个原因是因为35行中,在内部类引用了该对象,所以要进行finald的定义

5,下载地址

http://download.csdn.net/detail/zzjjqqzzhhqq/7770211 不要积分的哦 哈哈哈哈

如果有任何疑问和问题,欢迎各位拍砖,喷神您就放过小弟吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值