`
abc20899
  • 浏览: 909844 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android学习----Handler使用

阅读更多



         接触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:我也看书和自己练习总结的,可能有说的不清楚的地方!
分享到:
评论

相关推荐

    android学习--handler

    NULL 博文链接:https://baishou520.iteye.com/blog/2112525

    android-Handler的使用

    android Handler的使用,我也刚开始学习,从别处下载了给大家分享

    Android代码-Android-performance-optimization

    android性能优化整理 android性能优化整理 本人学习使用的笔记 长期更新 欢迎star QQ879689064 Handler产生的内存泄露

    android_handler学习笔记

    Handler在android里负责发送和处理消息。它的主要用途有(或者是干什么的):  1)执行计划任务,按计划(定时)发送消息或执行某个Runnanble(使用POST方法);  2)线程间通信,把从其他线程中发送来的消息放入消息...

    Android-app.rar

    Android例子源码适合新手学习的listview使用源码 android及时通讯源码 android可伸缩日历效果源码 Android应用源码CreativeCommons新闻客户端半成品 Android应用源码使用Vitamio框架的网络在线电视直播 Android应用...

    android学习笔记

    3.android学习笔记--activity生命周期&handler使用 4.android学习笔记--HandlerThread和Bundle 5.android学习笔记--SQLite 6.android学习笔记--下载文件 7.android学习笔记--Content Provider 8.android学习笔记--...

    android handler学习文档(多个)

    android handler学习文档,一共12个文档,全面学习

    Android:Handler学习实例1

    Android中Handler的学习实例,在本示例中,在主线程外开启子线程(使用匿名内部类Runnable),使用Handler中的Message传递消息(高效),操作一个ProgressBar的进度。适合初学者学习和了解Handler以及ProgressBar的...

    Pro Android学习:了解Handler小例子

    这是Pro Android学习系列中Android Service部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

    android Handler Thread AsyncTask httpURLConnection

    android Handler Thread AsyncTask httpURLConnection学习的代码

    Android_Handler

    这个资源主要有三个Demo文件 是用来展示Handler的异步处理消息的 第一个Demo展示了如何启动线程和暂停线程 第二个Demo采用了Handler的...并传递数据,然后又自己处理消息 这个资源对学习Android的异步消息处理很有好处

    个人学习的浅谈handler

    感谢慕课网,浅谈handler

    Android Studio通过Handler制作简单的计时器

    使用Android Studio写的简单的计时器,包括开始计时,显示计时,结束计时,比较适合学习Android的萌新参考,对Handler的学习很有帮助~

    android 更新 UI 线程 handler

    简单实现更新UI的操作,仅供学习参考 这里用到handler类,runnable类,按钮的点击事件

    android handler

    讲述android handler机制,与线程,loop等的关系,并有实例演示,相信对android学习者很有帮助。

    老罗android开发视频教程全集百度网盘下载

    【第一版第十一章】老罗Android开发视频--通知的使用(2集) 【第一版第十二章】老罗Android开发视频--菜单的使用(4集) 【第一版第十三章】老罗Android开发视频--异步加载数据库(2集) 【第一版第十四章】老罗...

    使用C++11实现Android系统的Handler机制

    主要介绍了使用C++11实现Android系统的Handler机制,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    android 学习笔记5-线程阻塞 UI更新

    1、查看网络上的图片 2、主线程阻塞-ANR 3、刷新UI-Handler 4、在本地缓存图片-例如微信的图片 5、获取开源代码 6、显示一个新闻客户端 7、使用GET方式提交表单数据 8、使用POST方式提交表单

    Android多线程及异步任务消息处理机制 一 Handler的使用

    Android多线程及异步任务消息处理机制 一 Handler的使用博文源代码 想要学习更多有关于Android的知识 请关注博客http: blog csdn net yegongheng

    Android学习资料

    收集的一些关于Android的学习资料,一些常用组件的介绍,和一些难点的资料.包括:android gravity 和 android layout_Gravity,Bundle,ContentResolver,cursor,Fragments ,Fragments,inflater ,Fragment,数据查询query...

Global site tag (gtag.js) - Google Analytics