- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 辽宁轻工职业学院 任务实现 知识准备 任务目标 目 录 项目6 界面数据更新的实现 辽宁轻工职业学院 任务1 农业大棚中温湿度的实时显示 项目目标 辽宁轻工职业学院 辽宁轻工职业学院 智能农业系统中环境数据是以无线传感器技术为基础,实现对农业生产环境的监测和逻辑控制。本任务农业大棚中通过ZigBee协调器模块、ZigBee继电器模块与ZigBee温湿度传感器获取到的温湿度值,通过Handler-message的机制在移动终端界面中完成数据的更新显示。 辽宁轻工职业学院 【任务目标】 1. 掌握消息处理类(Handler)的应用 2. 掌握消息类(Message)的应用 1.消息类(Message)简介 辽宁轻工职业学院 【知识准备】 当Android平台启动一个应用程序会开启一个主线程(界面UI线程),由界面UI线程来管理所显示的所有控件,并监听用户点击事件,来响应用户并分发事件等。因此,在界面UI线程中一般不执行耗时的操作,如联网下载数据等,否则出现ANR错误。所以就将这些操作放在子线程中,但是由于AndroidUI线程是不安全的,所以只能在主线程中更新UI。 正如其他GUI应用程序一样,Android应用程序也是消息(事件)驱动的。这种消息的传递必须依赖于应用框架提供的消息机制。Android本身提供了2种消息机制:组件间消息传递(Intent)和线程间消息传递(Message)。在此主要讨论Android线程间消息传递机制及其应用。 1. 消息类(Message)简介 辽宁轻工职业学院 【知识准备】 android.os.Message是定义一个Messge包含必要的描述和属性数据,并且此对象可以被发送给android.os.Handler处理。属性字段:arg1、arg2、what、obj、replyTo等;其中arg1和arg2是用来存放整型数据的;what是用来保存消息标示的;obj是Object类型的任意对象;replyTo是消息管理器,会关联到一个handler,handler就是处理其中的消息。通常对Message对象不是直接new出来的,只要调用handler中的obtainMessage方法来直接获得Message对象,现把常用到的一些方法说明提供如下 方法名称 含义 Message() 构造一个新的Message对象 Message obtain () 从全局池中返回一个新的Message实例 1. 消息类(Message)简介 辽宁轻工职业学院 【知识准备】 Message可理解为线程间交流的信息,处理数据后台线程需要更新UI,则发送Message内含一些数据给UI线程。 在单线程模型下,为了解决类似的问题,Android设计了一个Message Queue(消息队列), 线程间可以通过该Message Queue并结合Handler和Looper组件进行信息交换。一个Message对象具有下表所对应的属性: 属性 类型 描述 arg1 int 用来存放整型数据 arg2 int 用来存放整型数据 obj Object 用来存放发送给接收器的Object类型的任意对象 ReplyTo Messenger 用来指定此Message发送到何处的可选Messager对象 what int 用于指定用户自定义的消息代码,这样接收者可以了解这个消息的信息 2.消息处理类(Handler)简介 辽宁轻工职业学院 【知识准备】 在使用Handler处理消息的时候,Handler一般会挥发两个作用:1、在新线程中发送消息;2、在主线程(界面线程)中获取并处理消息。在实际的程序开发中,Handler类为开发人员提供了便捷的开发策略,在新线程(可以是多个新线程)中编写消息发送的功能代码,在主线程中统一接收、识别并处理。这就解决了何时发送何时处理的问题。通过设计智能农业移动应用相关业务参数,需要熟悉和使用Handler类的相关方法,现把常用到的一些方法说明提供如下 方法名称 含义 void handleMessage(Message msg) 主线程处理消息的方法; boolean hasMessages(int what, Object object) 检查消息队列是否包含有what属性并且object属性为指定对象的消息; final boolean hasMessages(int what) 检查消息队列是否包含有what属性的消息; final Message obtainMessage() 获取消息; 2.消息处理类(Handler)简介 辽宁轻工职业学院 【知识准备】 final boolean post(Runnab
原创力文档


文档评论(0)