zoukankan      html  css  js  c++  java
  • handler使用(二)

    HandlerThread类实现了Looper的循环处理消息的功能

    package mars.handler;
    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.HandlerThread;
    import android.os.Looper;
    import android.os.Message;
    public class HandlerTest2 extends Activity {
     @Override
     protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      //打印了当前线程的ID
      System.out.println("Activity-->" + Thread.currentThread().getId());
      //生成一个HandlerThread对象,实现了使用Looper来处理消息队列的功能,这个类由Android应用程序框架提供
      HandlerThread handlerThread = new HandlerThread("handler_thread");
      //在使用HandlerThread的getLooper()方法之前,必须先调用该类的start();
      handlerThread.start();
      MyHandler myHandler = new MyHandler(handlerThread.getLooper());
      Message msg = myHandler.obtainMessage();
      //将msg发送到目标对象,所谓的目标对象,就是生成该msg对象的handler对象
      Bundle b = new Bundle();
      b.putInt("age", 20);
      b.putString("name", "Jhon");
      msg.setData(b);
      msg.sendToTarget();
     } 
     //继承Handler类,
     class MyHandler extends Handler{
      public MyHandler(){   
      }
      public MyHandler(Looper looper){
       super(looper);
      }
      @Override
      public void handleMessage(Message msg) {
       Bundle b = msg.getData();
       int age = b.getInt("age");
       String name = b.getString("name");
       System.out.println("age is " + age + ", name is" + name);
      }
     }
    }
  • 相关阅读:
    正确解读free -m
    linux命令总结之traceroute命令
    OSI七层模型详解
    Linux运维七:网络基础
    python contextlib 上下文管理器
    Django扩展自定义manage命令
    Elasticsearch分片、副本与路由(shard replica routing)
    EsRejectedExecutionException排错与线程池类型
    python重试(指数退避算法)
    Redis实现分布式锁
  • 原文地址:https://www.cnblogs.com/blueofsky/p/2303522.html
Copyright © 2011-2022 走看看