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):指定多少毫秒之后发送消息。