zoukankan      html  css  js  c++  java
  • Handler类、异步线程和Message类的参数传递

      声明HandlerThread对象,实现了使用Looper来处理消息队列的功能

            //这个类由Android操作系统提供
        HandlerThread handlerThread = new HandlerThread("handler_Thread");
        handlerThread.start();
        //当前的myHandler对象使用looper线程处理消息
        MyHandler myHandler = new MyHandler(handlerThread.getLooper());
        Message msg = myHandler.obtainMessage();
        //简单数据传输
        msg.obj = "zhanglei";
        //大量数据传输
        Bundle b = new Bundle();
        b.putInt("age",23);
        b.putString("name", "zhanglei");
        msg.setData(b);
        //将msg发送到目标对象,所谓的目标对象就是生成该msg对象的Handler对象
        msg.sendToTarget();

      声明MyHandler类继承自Handler类:

        class MyHandler extends Handler{
        public MyHandler(){

        }
        public MyHandler(Looper looper){
          super(looper);
        }
        //每当myHandler对象执行sendMessage方法时触发handleMessage方法
          @Override
          public void handleMessage(Message msg) {
            // TODO Auto-generated method stub
            super.handleMessage(msg);
            String str = (String)msg.obj; //将msg中的obj中的值取出
            Bundle b = msg.getData();
            int age = b.getInt("age");
            String name = b.getString("name");
          }
        }

  • 相关阅读:
    调度器2—cat /proc/<pid>/sched内容分析
    调度器1—相关接口和命令行工具
    Java中的String类
    Java中的数组
    代码访问使用Let's Encrypt证书的网站提示certificate has expired的解决方法
    Linux环境Clion使用Protobuf
    PyTorch Dataloader读取时如何在进程之间传输数据
    6 安装Grafana 展示promethues数据
    5 Prometheus relabel配置
    4 PromQL
  • 原文地址:https://www.cnblogs.com/zhanglei93/p/4658483.html
Copyright © 2011-2022 走看看