安卓 Handler 消息处理

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();
 
posted @ 2022-08-20 00:29  kuaiquxie  阅读(40)  评论(0)    收藏  举报