handler是用来在Android中回调、传递数据的。
handler的使用分为 发送和接收。
先看handler的发送:
public class AboutMsgManager extends Thread {
private Context _ctx;
private Handler _handler;
public AboutMsgManager(Context ctx, Handler handler) {//初始化
this._ctx = ctx;
this._handler = handler;
}
@Override
public void run() {
super.run();
AboutModel model = WebServiceManager.getAboutMsg(_ctx);//model是要传递和发送的数据
Message msg = _handler.obtainMessage(HanderMsgInt.ABOUTMSG);//参数是必要的,根据what值才能方便的接收传递的数据
msg.obj = model;
_handler.sendMessage(msg);
}
}
同时注意:handler的使用最好在线程中进行!
/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/
接下来看看,handler的接收:
private Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case HanderMsgInt.ABOUTMSG:
AboutModel model = (AboutModel) msg.obj;
if (model != null) {
String qqMsg = model.qqMsg;
}
break;
default:
break;
}
};
};
AboutMsgManager amManager = new AboutMsgManager(this, handler);
amManager.start();