问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

handler使用在哪些场景

发布网友 发布时间:2022-05-05 00:14

我来回答

1个回答

热心网友 时间:2022-06-27 15:41

一、 应用场景一

1. 说明
某些不需要实时显示的,可以先放到消息队列中(例如弹出提示信息,更新UI等)

2. 示例代码

[java] view plain copy print?
// handler类接收数据
Handler handler = new Handler() {
public void handleMessage(Message msg) {
if (msg.what == MOBILE_STATUS || msg.what == WIFI_STATUS) {
showNetMethod(msg.what);
System.out.println("receive....");
}
};
};

Message msg = new Message();
msg.what = WIFI_STATUS;
handler.sendMessage(msg);

// handler类接收数据
Handler handler = new Handler() {
public void handleMessage(Message msg) {
if (msg.what == MOBILE_STATUS || msg.what == WIFI_STATUS) {
showNetMethod(msg.what);
System.out.println("receive....");
}
};
};

Message msg = new Message();
msg.what = WIFI_STATUS;
handler.sendMessage(msg);

二、 应用场景二

1. 说明
在一个子线程中去创建一个Handler,然后使用这个handler实例在任何其他线程中发送消息,最终处理消息的代码都会在你创建Handler实例的线程中运行

2. 代码示例

[java] view plain copy print?
new Thread()
{
private Handler handler;
public void run()
{
Looper.prepare();
handler = new Handler()
{
public void handleMessage(android.os.Message msg)
{
Log.e("TAG",Thread.currentThread().getName());
};
};
Looper.loop();
}
}

new Thread()
{
private Handler handler;
public void run()
{
Looper.prepare();
handler = new Handler()
{
public void handleMessage(android.os.Message msg)
{
Log.e("TAG",Thread.currentThread().getName());
};
};
Looper.loop();
}
}

三、应用场景三

1. 说明: 定时器
2. 示例代码

[java] view plain copy print?
private static final int LOAD_DISPLAY_TIME = 3000; // 延迟3s

new Handler().postDelayed(new Runnable() {
public void run() {
// 时间到时,执行的代码
}
}, LOAD_DISPLAY_TIME);

关闭此定时器:handler.removeCallbacks(runnable);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
陈八两面馆的什么面最好吃? 杭州湾跨海大桥可以骑行吗 杭州湾跨海大桥上能骑车吗? ...不知道可不可以骑自行车,又需要做哪些准备,谢谢各位资深人士了... 激光祛痘坑的效果如何? 口述:3个闺密分享1个“软饭男” 骚气文案暗示-推荐65句 三个男人怎么晒朋友圈 任钊的介绍 请问德阳青依江路口到德阳中级人民法院坐几路公交车 梦见男人好像劫色和追敢我又好像劫财 C#与C++的数据类型转换 c# HHOOK类型要用什么命名空间? 梦见被两女人劫财劫色 梦见有人追我劫财劫色,后来被自己抓住了还打他了 systemserver是什么软件? 昨晚梦见自己被别人劫财又劫色,但坏人没得逞,请问这个梦谁会解啊,谢谢了 帮我翻译一下这句英文Handle phone system 必优缇化妆品在哪能买到 必优缇化妆品效果好不好 必优缇化妆品效果好不好, 打算使用JAVAEE开发公司网站,数据库部分本打算使用MYSQL,但听说官方MYSQL收费,免费的社区版能用吗 人人影音不要脸,明明网杠杠的,非说不好叫我开会员,,果断卸载, 梁家辉主演经常有句口头禅是“泼你西瓜”和“人人为我,我为人人”那部电影叫什么来着? 南宋和北宋的豪放派人物都有谁啊? 宋代豪放词人以苏轼和谁为代表? 北宋豪放派代表人物和作品 北宋词坛豪放派代表作家是 豪放派代表人物 宋代豪放派词人的代表(至少3个) C#调用VCdll时PVOID 数据类型怎么转换 女人梦见遇到几个劫财劫色的男人最后我没服从她们出手打了我? c# 控件的Handle是什么类型 梦见一男人好像劫色,后来又有一男一女来帮忙好像要劫财。我不知道怎么逃跑了,接着就那男的一直追着我 c# 类中怎么获取窗体的Handle c#怎么从handle获取文件名 梦见被打劫钱要五百我给一百 如果遇到劫财又劫色的坏蛋该怎么办 delphi中的hwnd,thandle,hdc有什么区别,本人新手,谢谢! 梦见被一个十多岁的男鬼魂缠上我了? 怎么让system函数不等待执行 梦见几个陌生人围着我,我害怕? 怎么把HWND转成HANDLE? 人家问你还怕我半路遇到劫财劫色的啊,我该怎么回答她? 如何在Spring拦截器preHandle方法得到控制方法名 惠普笔记本重装w7系统 惠普笔记本电脑预装win8.1系统现在想换成win7的系统,具体怎么换???求大神指教 惠普笔记本如何装W7系统,要求详细步骤 惠普笔记本电脑如何安装Win7系统是不是的啊? 惠普笔记本用系统光盘重装W7系统的时候,