接触android的应用开发已经有一个多月了,对于控件的使用,比较容易掌握,通过xml配置布局,在主程序中建立对应的控件,设置监听,完成用户动作,我说的也只是入门级的水平,本人也是入门级菜鸟,哈哈!对我而言,初学的难度在于handler的使用上,所以在这里详细介绍一下!
Handler从字面上看就是一个句柄,用于负责发送和处理相应消息,它包括两种队列:线程队列和消息队列,分别通过post和sendmessage来实现。
使用Handler的流程:
1、创建Handler对象,可以直接使使用Handler无参构造函数,创建对象,也可以继承handler类,重写HandlerMessage函数,然后创建Handler对象。 Handler handler = new Handler(){
public void handleMessage(Message msg) {
//执行方法
}
};
复制代码2、建立Runable对象,复写run方法,run方法中是将要执行的操作。 Runnable mThread = new Runnable() {
int i = 0;
@Override
public void run() {
// TODO Auto-generated method stub
//执行方法
}
};
复制代码3、在监听入口中,调用Handler的post或者postDelayed方法,将要执行的线程对象(Runable对象)加入到线程队列中。也可以用sendMessage发送消息,处理消息的地方就是复写的HandlerMessage里。可以通过obtainMessage,获取消息,传递参数。
handler.post(mThread);
或者
Message msg = handler.obtainMessage();
msg.arg1 = i;
handler.sendMessage(msg);
想要线程停止,可以调用Handler对象的removecallbacks(Runable r)从线程队列中移除线程对象。
注意:线程对象和消息对象分别对应线程队列和消息队列,处理也是分成了post和SendMessage两种,要加以区分。
Handler分发Message对象和Runable对象到主线程,每个handler实例都会绑定到创建他的线程中。
ps:我也看书和自己练习总结的,可能有说的不清楚的地方!
分享到:
相关推荐
NULL 博文链接:https://baishou520.iteye.com/blog/2112525
android Handler的使用,我也刚开始学习,从别处下载了给大家分享
android性能优化整理 android性能优化整理 本人学习使用的笔记 长期更新 欢迎star QQ879689064 Handler产生的内存泄露
Handler在android里负责发送和处理消息。它的主要用途有(或者是干什么的): 1)执行计划任务,按计划(定时)发送消息或执行某个Runnanble(使用POST方法); 2)线程间通信,把从其他线程中发送来的消息放入消息...
Android例子源码适合新手学习的listview使用源码 android及时通讯源码 android可伸缩日历效果源码 Android应用源码CreativeCommons新闻客户端半成品 Android应用源码使用Vitamio框架的网络在线电视直播 Android应用...
3.android学习笔记--activity生命周期&handler使用 4.android学习笔记--HandlerThread和Bundle 5.android学习笔记--SQLite 6.android学习笔记--下载文件 7.android学习笔记--Content Provider 8.android学习笔记--...
android handler学习文档,一共12个文档,全面学习
Android中Handler的学习实例,在本示例中,在主线程外开启子线程(使用匿名内部类Runnable),使用Handler中的Message传递消息(高效),操作一个ProgressBar的进度。适合初学者学习和了解Handler以及ProgressBar的...
这是Pro Android学习系列中Android Service部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512
android Handler Thread AsyncTask httpURLConnection学习的代码
这个资源主要有三个Demo文件 是用来展示Handler的异步处理消息的 第一个Demo展示了如何启动线程和暂停线程 第二个Demo采用了Handler的...并传递数据,然后又自己处理消息 这个资源对学习Android的异步消息处理很有好处
感谢慕课网,浅谈handler
使用Android Studio写的简单的计时器,包括开始计时,显示计时,结束计时,比较适合学习Android的萌新参考,对Handler的学习很有帮助~
简单实现更新UI的操作,仅供学习参考 这里用到handler类,runnable类,按钮的点击事件
讲述android handler机制,与线程,loop等的关系,并有实例演示,相信对android学习者很有帮助。
【第一版第十一章】老罗Android开发视频--通知的使用(2集) 【第一版第十二章】老罗Android开发视频--菜单的使用(4集) 【第一版第十三章】老罗Android开发视频--异步加载数据库(2集) 【第一版第十四章】老罗...
主要介绍了使用C++11实现Android系统的Handler机制,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
1、查看网络上的图片 2、主线程阻塞-ANR 3、刷新UI-Handler 4、在本地缓存图片-例如微信的图片 5、获取开源代码 6、显示一个新闻客户端 7、使用GET方式提交表单数据 8、使用POST方式提交表单
Android多线程及异步任务消息处理机制 一 Handler的使用博文源代码 想要学习更多有关于Android的知识 请关注博客http: blog csdn net yegongheng
收集的一些关于Android的学习资料,一些常用组件的介绍,和一些难点的资料.包括:android gravity 和 android layout_Gravity,Bundle,ContentResolver,cursor,Fragments ,Fragments,inflater ,Fragment,数据查询query...