Android -- Handler消息处理

⒈主要用途

  未来某时做某事【可能是延时执行的,也可能是立即执行的】

  线程间通信【安卓操作UI界面需要在主线程当中,非主线程是不能够进行UI操作的,比如网络请求需要发起另外一个线程去发起网络请求,然后将结果返回给主线程,让主线程去处理】

⒉用法

复制代码
        Handler handler = null;
        //用法1,延时任务
        //在当前Activity停留3秒钟后跳转到TestActivity
        handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent intent = new Intent(HandlerActivity.this,TestActivity.class);
                startActivity(intent);
            }
        }, 3000);


        //用法2,线程间通信
        handler = new Handler(){
            //handler可以发送消息,也可以处理消息,当handler接收到消息后,可以根据message的不同
            //可以在handleMessage方法去做一些相应的操作
            @Override
            public void handleMessage(@NonNull Message msg) {
                super.handleMessage(msg);
                switch (msg.what){
                    case 1:
                        Toast.makeText(getApplicationContext(),"线程通信成功",Toast.LENGTH_LONG).show();
                        break;
                }
            }
        };

        new Thread(){
            @Override
            public void run() {
                super.run();
                //发送消息
                Message message = new Message();
                message.what = 1;
                handler.sendMessage(message);
            }
        }.start();
复制代码

作者:奇

出处:https://www.cnblogs.com/fanqisoft/p/12171210.html

版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。

posted @   SpringCore  阅读(195)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2019-01-09 Spring 基于注解的AOP实现
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示