《使用Handler进行消息处理.pptVIP

  • 3
  • 0
  • 约2.09千字
  • 约 9页
  • 2016-12-31 发布于北京
  • 举报
Handler是什么 Handler提供了一种异步的线程操作方案及异步消息处理机制,其可以把消息和Runnble对象发送到与Handler对象所关联的消息队列中去。通俗点讲就是用来在线程间发送消息的处理对象。也可以这么说Handler是Runnable和Activity交互(传递消息)的桥梁。在任何线程中只要获得了另一个线程的Handler则可以通过Handler的sendMessage(Message message)方法向目标线程发送数据。基于这个机制,我们在处理多线程的时候可以通过新建一个Thread这个Thread拥有UI线程中的一个Handler当Thread处理完一些耗时的操作后通过传递进来的Handler对象向UI线程发送数据,由UI线程去更新界面。 Handler能做什么 运行在某个线程上,共享线程的消息队列 接收消息、调度消息、派发消息和处理消息 实现消息的异步处理 Handler与线程的关系 Handler会关联一个单独的线程和消息队列。Handler默认关联主线程,虽然要提供Runnable参数 ,但默认是直接调用Runnable中的run()方法。也就是默认下Handler和调用该Handler的线程是同一个线程。 Handler的常用方法 Handler的使用步骤 Handler的基本使用步骤如下: 在Activity或Activity的Widget中生成Handler类的对象,并重写其handleMessage方法 在新启动的线程中调用sendEmptyMessage或sendMessage方法以向Handler发送消息 在Handler的中使用handleMessage方法接收消息,然后根据消息的不同执行不同的操作 向消息传递数据的方式 使用Message的成员变量 msg.arg1,msg.arg2,msg.obj等 使用Bundle Bundle对象其实就是一个数据存储的工具,一般用于向消息传递数据。其同HashMap有点像,只是Bundle键值对的键必须是String类型,而对值没有类型限制。 Bundle b=new Bundle(); b.putInt(age, 20); msg.setData(b); 使用Handler进行消息处理 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 主要内容及重难点 理解Handler的异步消息处理机制(重、难点) 熟练使用Handler进行消息处理 会使用Bundle进行数据的存储 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 总结 如何使用Handler进行异步消息处理 向消息传递数据的方式有

文档评论(0)

1亿VIP精品文档

相关文档