安编程中使用handleMessage实现线程之间数据交互
更多最新安卓编程资料请关注微信公众号:安卓编程入门进阶
百度云原清晰度地址:http://pan.baidu.com/s/1mhS0H8O
本节课介绍HandleMessage在线程之间传递数据。由于UI线程不允许阻塞,也因此不允许子线程直接操作UI线程的View控件,因此对于已经由子线程运行得出的结果如果要呈现给用户,就需要使用到线程间的数据传递,handleMessage方法可以解决此问题,本课学习通过子线程获取当前的时间并通过handleMessage方法将数据传递到主线程并显示出来。
1、 新建安卓工程,在xml界面将已有的TextView控件内容删除并修改控件的ID为tvOut。
2、 在onCreate方法中直接初始化一个子线程,子线程中添加循环,循环体内每隔一秒获取到字符串类型的当前日期和时间,通过控制台输出。
3、 在MainActivity类中实例化handler对象,对象实例中重写handleMessage方法。
4、 在子线程run方法的循环中初始化Bundle对象实例,并将每次获取到的日期字符串通过键值对方式放入到bundle(bundle用于键值对的数据传递,参见http://www.360doc.com/content/13/0426/11/110467_281034064.shtml)实例中,然后初始化一个message对象实例,将带有数据的bundle对象放入message中,通过handler实例对象将message送到handleMessage中。
5、在handleMessage中使用TextView控件将子线程传出的字符呈现在手机界面上。
更多最新安卓编程资料请关注微信公众号:安卓编程入门进阶
安编程中使用handleMessage实现线程之间数据交互相关推荐
- 详解Java多线程编程中LockSupport类的线程阻塞用法
转载自 详解Java多线程编程中LockSupport类的线程阻塞用法 LockSupport类是Java6(JSR166-JUC)引入的一个类,提供了基本的线程同步原语.LockSupport实际 ...
- java 线程 condition_Java编程中实现Condition控制线程通信
java中控制线程通信的方法 1.传统的方式:利用synchronized关键字来保证同步,结合wait(),notify(),notifyall()控制线程通信.不灵活. 2.利用condition ...
- 【C/C++多线程编程之十】pthread线程私有数据
多线程编程之线程私有数据 Pthread是 POSIX threads 的简称,是POSIX的线程标准. 线程同步从互斥量[C/C++多线程编程之六]pthread互斥量,信号量[C/C++多线程编 ...
- 020_Vue非父子组件之间数据交互
1. 非父子组件之间数据交互 1.1. 单独的事件中心管理组件间的通信 var eventHub = new Vue(); 1.2. 监听事件 eventHub.$on('event-name', f ...
- ajax数据交互代码,Django中使用jquery的ajax进行数据交互的实例代码
jquery框架中提供了$.ajax.$.get.$.post方法,用于进行异步交互,由于Django中默认使用CSRF约束,推荐使用$.get 示例:实现省市区的选择 最终实现效果如图: 将jque ...
- ajax与后台php,怎么在thinkPHP5中使用ajax实现与后台数据交互
怎么在thinkPHP5中使用ajax实现与后台数据交互 发布时间:2021-03-20 17:20:01 来源:亿速云 阅读:87 作者:Leah 这篇文章给大家介绍怎么在thinkPHP5中使用a ...
- Handler 中的 handleMessage 所在线程是由什么决定的?
大多数情况下,handleMessage所在线程和 handler 初始化所在的线程相同,但 handler 初始化的时候可以传入一个 Looper 对象,此时handleMessage所在线程和参数 ...
- 单片机七阶音符_单片机对于音乐的编程中 ,音符的十六位数据表是怎样
展开全部 只有音乐发声汇编程序,没有加入LED灯,供参考.数据代码已改为小星星发声 ;********************************************** ORG 0000H ...
- plsql中两个不同数据库之间 数据表数据操作
今天有个任务就是转PL SQL数据,但是两个表的数据是在不同的数据库中,本来从一个表中直接复制过来就好,但是流数据复制不过来.后来就想到在一个数据库中连接另一个数据库然后操作数据 两个数据库:data ...
最新文章
- python 包介绍:osmnx
- 数据结构之并查集Union-Find Sets
- 关于C++中函数指针的使用(包含对typedef用法的讨论)
- Spring容器实例bean中的几个关键PostProcessor
- yjv是电缆还是电线_BVV属于电线还是电缆?
- UVA 10273 Eat or not to Eat?
- JAVA通信编程(三)——TCP通讯
- mysql substr 中文字符_解析使用substr截取UTF-8中文字符串出现乱码的问题
- alwayson高可用组_AlwaysOn可用性组–简化工作的好奇心–第3部分
- 简洁jQuery滑动门插件
- 大数据技术对企业发展的作用
- 【转】Android 基于Socket的聊天室
- html盒子模型的原理,新手对于CSS盒模型的认知
- 22计算机408考研—数据结构—线性表、栈、队列、数组
- MySQL定时备份并清理
- 关于 Nginx 0day 漏洞,需要采取哪些措施?
- python定义数组长度_python数组长度
- 阿尔伯塔大学计算机科学的申请条件,阿尔伯塔大学计算机科学硕士专业
- 设计一个算法,通过一趟遍历确定长度为n的但链表的中值的最大的节点
- 有向加权图 最大弱连通分支_指数基金介绍专栏:指数基金的加权方式,你都知道哪些?...