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);
}
}
相关文章
Android App中使用RatingBar实现星级打分功能的教程
这篇文章主要介绍了Android App中使用RatingBar实现星级打分功能的教程,文中举了一个使用SeekBar与RatingBar制作的应用内打分条的功能,非常简单,需要的朋友可以参考下2016-04-04
Android Studio 3.0 Gradle 配置变更
这篇文章主要介绍了Android Studio 3.0 Gradle 配置变更的相关知识,即多渠道打包变更和更改打包命名及路径的代码,感兴趣的朋友跟随脚本之家小编一起看看吧2018-03-03
Flutter 底部弹窗ModelBottomSheet的使用示例
在实际开发过程中,经常会用到底部弹窗来进行快捷操作,例如选择一个选项,选择下一步操作等等。在 Flutter 中提供了一个 showModelBottomSheet 方法用于弹出底部弹窗,本篇介绍如何使用底部弹窗。2021-06-06
Kotlin开发中open关键字与类名函数名和变量名的使用方法浅析
这篇文档中,我们将解释如何以及为什么将 open 关键字与类名、函数名和变量名一起使用,了解内部原理是为了帮助我们做扩展,同时也是验证了一个人的学习能力,如果你想让自己的职业道路更上一层楼,这些底层的东西你是必须要会的2023-02-02


最新评论