zoukankan      html  css  js  c++  java
  • 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();
  • 相关阅读:
    数据库
    计算机基础知识系列
    《大话数据结构》参考
    数据结构与算法系列
    python cookbook
    Python教程 廖雪峰
    Python入门学习系列
    认识 React——声明式,高效且灵活的用于构建用户界面的 JavaScript 库
    线程---同步(synchronized)
    线程---插队和礼让执行(join和yield)
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/12171210.html
Copyright © 2011-2022 走看看