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

Message和handler传递对象

 
阅读更多

mesasge在提供的参数中传递的几乎都是整形,有时候我们想传递一个对象到线程里面更新就显得很棘手

今天突然看了Bundle可以传递对象,message又可以传递Bundle于是就可以利用buddle作为中间载体传递对象了

Message msg = Message.obtain(); 
 
Bundle b = new Bundle(); 
b
.putParcelable("MyObject", (Parcelable) object); 
msg
.setData(b); 
 
handler
.sendMessage(msg); 
public void handleMessage(Message msg) { 
   
super.handleMessage(msg); 
 
   
MyObject objectRcvd = (MyObject) msg.getData().getParcelable("MyObject"); 

。。。。。。。。
   
} 
这个方法通常传递图片或者泛型等

不过有了AsyncTask 处理起来也就不用那么麻烦 看个人喜好了

分享到:
评论

相关推荐

    Android单线程模型中Message、Handler、Message Queue、Looper之间的关系---附实例源码

    Handler获取当前线程中的looper对象,looper用来从存放Message的MessageQueue中取出Message,再有Handler进行Message的分发和处理. 简单定义: 1、Message Queue(消息队列): 用来存放通过Handler发布的消息,通常...

    活用Android的Message Queue

     线程A的Handler对象参考可以传递给别的线程,让别的线程B或C等能送讯息来给线程A(存于A的Message Queue里)。  线程A的Message Queue里的讯息,只有线程A所属的对象可以处理之。  使用Looper.myLooper可以取得...

    Handler+Looper+MessageQueue+Message机制

    Message(消息):需要被传递的消息,其中包含了消息标识(what),消息处理数据和处理对象(arg1,arg2,obj),发送该消息的Handler对象(target)等,由MessageQueue统一列队,最终由Handler处理。 MessageQueue(消息...

    Android:Handler学习实例2(HandlerThread、Bundle传递参数)

    setContentView(R.layout.activity_main); //生成一个HandlerThread对象,实现了 使用Looper来处理消息队列的功能 HandlerThread handlerThread = new HandlerThread("handler_... //使用Message中的obj传递参数

    活用Android的Message_Queue(2)

    1. 复习Message Queue的角色 ... 线程A的Handler对象参考可以传递给别的线程,让别的线程B或C等能送讯息来给线程A(存于A的Message Queue里)。  线程A的Message Queue里的讯息,只有线程A所属的对象可以处理之。

    hjs-message:Hubrisjs框架的消息传递API

    消息传递类:MessageBroadcaster,MessageHandler,MessageQueue和CountDownTimer。 安装 节点: npm install hjs-message --save 用法 您必须先定义一个Message,其中包含可以发送到MessageHandler的描述和任意...

    Handler实现线程之间的通信下载文件动态更新进度条

    每一个线程对应一个消息队列MessageQueue,实现线程之间的通信,可通过Handler对象将数据装进Message中,再将消息加入消息队列,而后线程会依次处理消息队列中的消息。 2. Message 初始化:一般使用Message.obtain()...

    Android通过PHP服务器实现登录功能

    Handler机制主要包括4个关键对象,分别是Message、Handler、MessageQueue、Looper。 下面对这4个关键对象进行简单的介绍。 1.Message Message是线程之间传递的消息,它可以在内部携带少量的信息,用于在不同线程之间...

    strong-error-handler:用于开发(调试)和生产环境的错误处理程序

    在调试模式下, strong-error-handler在 HTTP 响应中向客户端返回完整的错误堆栈跟踪和任何错误对象的内部详细信息。支持的版本该模块采用政策,其生命周期结束 (EOL) 日期如下: 版本地位已发表停产4.x

    Android 通过LooperThread运行线程持续取得系统时间.rar

     在编写时,我们声明一常数作为判别信息用,声明两个widget对象变量,声明与时间相关的变量,声明关键Handler与Thread变量,通过findViewById取得两个widget对象,然后通过Handler来接收运行线程所传递的信息并更新...

    Android中的Handler与多线程应用实例

    在任何进程中,只要获得了另一个进程的handler则可以通过handler.sendMessage(message)方法向那个进程发送数据。基于这个机制,我们在处理多线程的时候可以新建一个thread,这个thread拥有UI线程中的一个handler。当...

    Android异步消息机制详解

    其中,Message是线程之间传递的消息,其what、arg1、arg2字段可以携带整型数据,obj字段可以携带一个Object对象。 Handler是处理者,主要用于发送消息和处理消息。发送消息的方法是sendMessage;处理消息的方法是...

    ATL窗口实现

    MESSAGE_HANDLER(WM_ERASEBKGND,CPaintBkgndBase::OnEraseBkgnd) 这样更能体现ATL类的扩展特征。 3.ATL比起MFC的稍微不便的地方是需要手动添加消息处理宏,以及 消息处理函数中需要分清WPARAM wParam和LPARAM ...

    Android代码-Android 一些重要知识点解析整理

    Tips >later Main Android中的异步任务机制 Android中AsyncTak的使用与源码分析 ...Android中Intent传递对象的两种方法(Serializable,Parcelable) 评论 29,85,96 序列化: Serializable与Parce

    Android中子线程和UI线程通信详解

    Android中子线程和UI线程之间通信的详细解释 1.在多线程编程这块,我们经常要使用Handler,Thread和...而Handler是运行在主UI线程中的,它与子线程可以通过Message对象来传递数据。 (2).使用: A:Handler是运行在U

    android 面试2

    2. 如果后台的Activity由于某...它是通过将Intent对象和目标的intent filter相比较来完成这一工作的。一个component的intent filter告诉android该component能处理的intent。intent filter也是在manifest文件中声明的

    大名鼎鼎SWFUpload- Flash+JS 上传

     SWFUpload不同于其他基于Flash构建的上传工具,它有着优雅的代码设计,开发者可以利用XHTML、CSS和JavaScript来随心所欲的定制它在浏览器下的外观;它还提供了一组简明的JavaScript事件,借助它们开发者可以方便的...

    Android IPC机制Messenger实例详解

    Messenger可以翻译成信使,通过它可以在不同进程间传递Message对象有了它就可以轻松实现进程间的数据传递了。 Messenger使用的方法相对AIDL比较简单,它对AIDL做了一层封装是的我们不需要像采用AIDL那样去实现进程...

    Android 跨进程通Messenger(简单易懂)

    只需要简单易懂的Messenger,它也称为信使,通过它可以在不同进程中传递message对象,在message中放入我们需要传递的数据你就可以实现跨进程通讯和传递数据。废话不多说,直接上代码。 首先是服务端: public ...

    Android 面试精华题目总结

    下面的题目都是楼主在android交流群大家面试时遇到的,如果大家有好的题目或者好的见解欢迎分享,楼主将长期维护此帖。...1、请解释下在单线程模型中Message,Handler,Message Queue,Looper之间的关系。 拿主线程

Global site tag (gtag.js) - Google Analytics