Handler多线程一
例子:
public class HandlerActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button b1 = (Button)findViewById(R.id.button1); Button b2 = (Button)findViewById(R.id.button2); b1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//立即把线程加入消息队列中handler.post(r);}}); b2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//停止线程handler.removeCallbacks(r);}}); } Handler handler = new Handler();/** *该方法的内部类将在handler.sendMessage(msg)后执行 Handler handler = new Handler(){@Overridepublic void handleMessage(Message msg) {System.out.println("msg:"+msg.arg1);} }; */ Runnable r = new Runnable() {@Overridepublic void run() {System.out.println("sysout Thread");//得到一个消息对象,Message类是有Android系统Message msg = handler.obtainMessage();//将msg对象arg1参数设置为122,用arg1和arg2传递消息//优点是系统资源消耗较小msg.arg1 = 122;//将消息加入到另外一个消息队列中去handler.sendMessage(msg);//3000毫秒后加入线程到消息队列中handler.postDelayed(r, 3000);} };}