子线程与activity之间的message传递

主要解决的问题

进行网络请求数据时,根据请求到的数据进行ui上面的一些操作

思路分析

一般情况下网络请求都是使用的异步请求的方式,而ui的一些操作只能在主线程中进行更改,

所以 当请求成功的时候 ,子线程需要往主线程中发送一个message就可以通知主线程进行操作

代码

activity中定义一个Handler  里面的handleMessage方法是用来接收消息的

	handler=new Handler(){
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                switch (msg.what){
                    case 1:
                        //login
                        Log.d("msg","login "+msg.obj.toString());
                        break;
                    case 2:
                        Log.d("msg","register "+msg.obj.toString());
                        break;
                }
            }
        };
子线程中 进行发送消息的代码

		    Message msg=new Message();
                    msg.what=2;
                    msg.obj=true;//Object类型 这里面放你想传递的消息就可以
                    handler.sendMessage(msg);

特别注意的一点 

handler 必须是同一个



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值