Android:Handler消息处理

本文详细介绍了Handler在Android开发中的两大核心用途:实现未来某时刻的操作及线程间通信。通过具体的代码示例,展示了如何使用Handler进行页面跳转的延时处理,以及在不同线程间发送消息进行有效通信。
摘要由CSDN通过智能技术生成

Handler的主要用途

1.未来某时做某事

2.线程间通信

 

 

1.未来某时做某事

package com.example.scrollview;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;

public class HandlerActivity extends AppCompatActivity {

    Handler handler;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_handler);
        handler=new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent intent=new Intent(HandlerActivity.this,EventActivity.class);
                startActivity(intent);
            }
        }, 3000);  //利用handler的postDelayed函数进行延时之后未来的操作声明
    }
}

在页面上停留3秒钟然后跳转到另一个指定的页面,利用handler的postDelayed函数进行延时之后未来的操作声明

 

2.线程间通信

package com.example.scrollview;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;

import com.example.scrollview.util.ToastUtil;

public class HandlerActivity extends AppCompatActivity {


    Handler handler;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_handler);
        handler=new Handler(){
            @Override
            public void handleMessage(@NonNull Message msg) {
                super.handleMessage(msg);
                switch (msg.what){
                    case 1:
                        ToastUtil.showMessage(HandlerActivity.this,"线程通信");
                        break;
                }
            }
        };
        new Thread(){
            @Override
            public void run() {
                super.run();
                Message message=new Message();
                message.what=1;
                handler.sendMessage(message);
            }
        }.start();
    }
}

在线程中进行通信,利用handler的消息传递进行操作。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Demo.demo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值