Android非同期スレッドとBundleメッセージング



package com.lzr;
/////      
/////   AndroidManifest.xml     HanderTest2  Activity
////  Looper          handler
////HandlerThread    
////Bundle    
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) {
		// TODO Auto-generated method stub
		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();
		
	  ////  Bundle  
		Bundle b=new Bundle();
		b.putInt("age", 25);
		b.putString("name", "make");
		msg.setData(b);
	//// msg       ,      ,        handler  , myHandler
		msg.sendToTarget();///           handleMessage(Message msg)
		
		
	
	}
	   class MyHandler extends Handler{
         
		   	public MyHandler()
		   	{}
		   	////  looper  Handler                  
		   	public MyHandler(Looper looper)
		   	{
		   		super(looper);
		   	}
		@Override
		public void handleMessage(Message msg) {
			// TODO Auto-generated method stub
			///super.handleMessage(msg);
			Bundle b=msg.getData();
			int age=b.getInt("age");
			String name=b.getString("name");
			System.out.println("age is"+age+" name is"+name);
			System.out.println("handler--->"+Thread.currentThread().getId());
			System.out.println("handlerMessage");
			
		}
	    	  
	      }
   
	
}