安编程中使用handleMessage实现线程之间数据交互

本文介绍如何在Android编程中利用Handler和handleMessage方法实现线程间的数据交互。由于不能直接在子线程操作UI,通过创建子线程获取时间数据,然后用Handler更新主线程的TextView,展示时间信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                                   更多最新安卓编程资料请关注微信公众号:安卓编程入门进阶                                            

百度云原清晰度地址: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对象实例,并将每次获取到的日期字符串通过键值对方式放入到bundlebundle用于键值对的数据传递,参见http://www.360doc.com/content/13/0426/11/110467_281034064.shtml实例中,然后初始化一个message对象实例,将带有数据的bundle对象放入message中,通过handler实例对象将message送到handleMessage中。


5、在handleMessage中使用TextView控件将子线程传出的字符呈现在手机界面上。




                                                   更多最新安卓编程资料请关注微信公众号:安卓编程入门进阶                                            

                                                


                                                   更多最新安卓编程资料请关注 微信 公众号:安卓编程入门进阶                                            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值