handlemessage
Bundle类介绍:
Bundle是一个载体,可以存放基本数据类型、对象等内容,相当于一辆汽车,可以装载很多东西,然后运到需要的地方,
Bundle mBundle=new Bundle(); //创建Bundle实例
mBundle.putString("sname","hanmei");
mBundle.putInt("snumber",100);
mBundle.putBoolean("flag",true);
intent mIntent=new Intent();
//通过putExtras函数将Bundle数据存放在mIntent类中
mIntent.putExtras(mBundle);message类介绍:
消息类(Message)被存放在Messagequeue中,一个MessageQueue中可以包含多个Message对象,每个Message对象可以通过Message.obtain()或handler.obtainMessage()方法获得。一个Message对象有如下5个属性:
[plain] view plain copy
- arg1 int类型 用来存放整型数据
- arg2 int类型 用来存放整型数据
- what int类型 用来保存消息标示
- obj Object类型 是Object类型的任意对象
- replyTo messager类型 用来指定此Message发送到何处的可选Message对象
*使用Message类的属性可以携带int类型数据,如果要携带其他类型的数据,可以先将要携带的数据保存到Bundle中对象 中, 然后通过Message类的setData()方法将其添加到Message中。
如:
Message msg = new Message();
Bundle bundle = new Bundle();
bundle.putInt("int", 1);
bundle.putBoolean("boolean", false);
bundle.putByte("byte", (Byte) null);
bundle.putChar("char",'a');
bundle.putCharsequence("Stirng","hello world");
bundle.putFloat("float", 12.3f);
bundle.putString("String", "Hello World");
bundle.putDouble("double", 12.3);
msg.setData(bundle);
Handle类介绍:
1.用于进程之间跳转,实现子线程与主线程之间通信,例如:
Intent intent=new Intent();
intent.setClass(IntentActivity.this,notificationActivity.class);
startActivity(intent);
2.将Message或Runnable应用post()或sandMessage()方法发送到MessageQueue中,在发送时可以指定延迟时间、发送时间以及要携带的Bundle数据。当MessageQueue循环到该Message时,调用相应的Handler对象的handlerMessage()方法对其进行处理
void handleMessage(Message msg):处理消息的方法,该方法通常用于被重写。
final boolean hasMessage(int what):检查消息队列是否包含what属性指定值的消息。
final boolean hasMessage(int what,Object object):检查消息队列中是否包含what属性为指定且object属性为指定指定对象的消息。
Message obtainMessage():获取消息。
sendemptyMessage(int what):发送空消息。
final boolean sendEmptyMessageDelayed(int what,long delayMillis):指定多少毫秒之后发送空消息。
final boolean sendMessage(Message msg):立即发送消息。
final boolean sendMessageAtTime(Message msg,long uptimeMillis):定时发送消息。
final boolean sendMessageDelayed(Message msg,long delayMillis):指定多少毫秒之后发送消息。
相关阅读
总结的特别好,所以打算记录下来 原文地址:https://blog.csdn.net/AcceZn/article/details/54670776 MessageBox是最简单的图形界面
简介摘要:MessageBox.Show (String) 显示具有指定文本的消息框。 由 .NET Compact Framework 支持。 MessageBox.Show (IWin32Wind
使用AfxMessageBox("CreatePen Error!!");这个语句时,编译器提示“AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型
Java web项目报错:HTTP Status 404 – Not Found Type
在用intelijIDEA的时候,因为是第一次接触这个,对项目的发布很是迷糊。怎么弄老是404错误: HTTP Status 404 – Not Found Type Stat
DECLARE_MESSAGE_MAP( ) 说明: 你的程序中的每一个CCmdTarget的派生类都可以提供一个消息映射以处理消息。在你的类声明的末尾