14,handler的简单示例+代码
来源:互联网 发布:广告音频制作软件 编辑:程序博客网 时间:2024/06/07 03:37
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 不要积分的哦 哈哈哈哈
如果有任何疑问和问题,欢迎各位拍砖,喷神您就放过小弟吧
- 14,handler的简单示例+代码
- 简单的跟踪示例代码
- ExpandableListView的简单代码示例
- 简单的tensorflow代码示例
- 一段简单的php分页代码示例
- 抽象工厂模式的简单代码示例
- 一个简单的ALSA示例代码
- BlazeDS处理的简单代码示例
- 简单的JS下拉菜单示例代码
- 简单生成遮罩层的代码示例
- 一个简单的ALSA示例代码
- 【代码示例】 一个简单的Java死锁
- 函数指针的简单代码示例
- 一个简单的form示例(代码讲解)
- Notification的一个简单应用代码示例
- Android实现简单Launcher的代码示例
- 代码实现最简单Handler
- spark简单代码示例
- 哈希表
- Matlab绘图总结1
- java笔记-网络编程-实例操作
- Linux 前后台进程切换
- Myeclipse配置SVN。HibernateTools。Maven等插件
- 14,handler的简单示例+代码
- UVA529
- Perl语言学习笔记 11 Perl模块
- JVM虚拟机加载类到内存的ClassLoader.loadClass && Class.forName()的比较
- Android之assets资源
- 栈的应用——十进制数转其他进制
- hbase java api操作
- FZU 2171 防守阵地 II 线段树
- 这是第一篇文章