首页 > 代码库 > Android线程之间的通讯
Android线程之间的通讯
Android之中,只有主线程当中能修改UI 的值,WorkThread中不能修改。因此在WorkThrean中运行比较耗时的程序,即在WorkThread中获取数据,然后将数据发送的主线程,再修改UI。
根据以上的思路来理解Android中个线程之间的通讯。
1、新建个TestHandler类,继承至Handler,
1)复写handlerMessage方法,来实现获取消息队列中的信息;
//新建handler对象 Handler handler = new TestHandler(); //TestHandler类 class TestHandler extends Handler{ @Override public void handleMessage(Message msg) { } }
2、WorkThread类
1)继承至Thread;
2)在这里面进行发送数据的程序;
3)handler的obtainMessage方法可以获取到消息队列中的消息;
4)handler的sendMessage方法:将数据发送到主线程;
具体:
class testThread extends Thread{ @Override public void run() { try { //WorkThread中要做的事情 Thread.sleep(2000); } catch (InterruptedException e){ e.printStackTrace(); } finally{ //将消息发到主线程 String s = "test String"; Message msg = handler.obtainMessage(); msg.obj = s; handler.sendMessage(msg); } } }
3、编译之后实现的功能就是
1)按键按下后,启动WorkThread线程;
2)线程中处理、获取数据,再数据发送到主线程;
3)主线程中获得数据,再修改UI;
4、以后深入之后可以再WorkThread中获取网络数据,再发到主线程中,修改UI,从而显示给用户。
5、刚学Android不久,各处描述可能有不妥之处,以后发现再回过头来修改。。。。。
Android线程之间的通讯
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。