android使用looper处理消息队列 android开发教程之使用looper处理消息队列

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

android使用looper处理消息队列 android开发教程之使用looper处理消息队列

  2021-03-19 我要评论
想了解android开发教程之使用looper处理消息队列的相关内容吗,在本文为您仔细讲解android使用looper处理消息队列的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:android开发教程,looper,消息队列,下面大家一起来学习吧。

复制代码 代码如下:

package com.yanjun;

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 HandlerActivity extends Activity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
      // 通过HandlerThread对象来实现使用looper处理消息队列的功能
    HandlerThread handlerThread = new HandlerThread("handlerThread");
    // 使线程运行必须调用start()
    handlerThread.start();
    MyHandler myHandler = new MyHandler(handlerThread.getLooper());
    Message message = myHandler.obtainMessage();
    // 把message发送到myHandler.obtainMessage()目标处,即谁调用的就发送给谁
    Bundle bundle = new Bundle();
    // 通过bundle添加数据
    bundle.putInt("age", 10);
    bundle.putString("name", "john");
    // 将bundle信息添加进去
    message.setData(bundle);
    message.sendToTarget();
  }

  class MyHandler extends Handler {

    public MyHandler(Looper looper) {
      super(looper);
      // TODO Auto-generated constructor stub
    }

    @Override
    public void handleMessage(Message msg) {
      Bundle bundle = msg.getData();
      int age = bundle.getInt("age");
      String name = bundle.getString("name");
      System.out.println("年龄" + age + "名字" + name);
          }

  }

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们