android handler和message的常用方法
来源:互联网 发布:医药软件排行 编辑:程序博客网 时间:2024/05/13 17:23
1.
private class AsyncServiceHandler extends Handler {
AsyncServiceHandler(android.os.Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
...........................................
case WifiManager.ENABLE_TRAFFIC_STATS_POLL: {
...........................................
}
private AsyncServiceHandler mAsyncServiceHandler;
mAsyncServiceHandler = new AsyncServiceHandler(wifiThread.getLooper());
Message msg;
msg = Message.obtain(mAsyncServiceHandler, WifiManager.ENABLE_TRAFFIC_STATS_POLL, 0, 0);
msg.sendToTarget();
这里Message.obtain表示obtain Message object from the global pool, 第一个参数表示发送的handler目标,第二个为what, 第三个为arg1, 第四个为arg2,看函数原型就知道了:
public static Message obtain(Handler h, int what, int arg1, int arg2) {
Message m = obtain();
m.target = h;
m.what = what;
m.arg1 = arg1;
m.arg2 = arg2;
return m;
}
最后调用msg.sendToTarget()将消息发送到AsyncServiceHandler中,AsyncServiceHandler继承并重写handleMessage方法,在handleMessage中根据switch处理接收到的消息
2.
Handler mhandler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int what = msg.what;
switch(what){
case 2:
String shortFileNames = msg.getData().getString("packagename");
........................自己的处理方法............................
}
};
Message msg = mhandler.obtainMessage();
Bundle b = new Bundle();// 存放数据
msg.what = 2;
b.putString("packagename", shortfileNames.get(i));
msg.setData(b);
mhandler.sendMessage(msg); // 向Handler发送消息,更新UI
原理和上面1其实是一样的,也是从消息池中获取message,这样不用新new一个,可以节省资源,new Bundle()用来存放数据,然后mhandler.sendMessage将消息发送到Handler中
- android handler和message的常用方法
- Study-android 的handler和message学习
- Android Looper Handler 和Message
- Android Handler、LOOP和Message
- Android的Message机制---Handler、Message、Looper
- 关于Handler的Post和Message的两种方法
- [android开发入门]Handler和Message的应用
- Android程序设计:Handler和Message很绕的写法
- Android的消息处理:Looper,Handler和Message
- Android Message.obtain() 和Handler.obtainMessage()的区别
- android Handler 和Message消息机制
- android 多线程之Handler和Message未完成
- 详解Android中的Looper,Handler和Message
- Android中的Looper,Handler,Message和MessageQueue
- android-Message.obtain和handler.obtainMessage
- Android中的Handler机制分析(一) Handler和Message分析
- 关于android Handler Message Looper的理解
- android Looper Message Handler中三者的关系
- BBED使用手册
- SGU 319 Kalevich Strikes Back(线段树+扫描线)
- button的一些用法
- MATLAB中norm()函数的应用
- Ubuntu12.10下安装 jdk-6u30-linux-i586.bin
- android handler和message的常用方法
- oracle官方文档
- /
- 01背包问题
- url访问全环节中最大长度部分测试
- CISCO防火墙端口映射配置
- 记录自己经常使用的vim技巧(实时更新)
- JSP和Servlet的中文乱码处理
- 贪心算法