在Andorid开发中,有些操作写在Activity的onCreate方法中不太适合,例如下载等需要花费较长时间的操作。这时,就可以使用Handler来实现这种异步的操作。 import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; /** * * Handler使用方法 * Handler提供了一种异步的处理方式,多个线程相互独立 * */ public class HandlerTest extends Activity { private Button startButton = null ; private Button endButton = null ; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); startButton = (Button)findViewById(R.id.startButton); startButton.setOnClickListener(new StartButtonListener()); endButton = (Button)findViewById(R.id.endButton); endButton.setOnClickListener(new EndButtonListener()); } class StartButtonListener implements OnClickListener { @Override public void onClick(View arg0) { //3、调用Handler的post方法,将要执行的线程对象加入到队列当中 handler.post(updateThread); } } class EndButtonListener implements OnClickListener { @Override public void onClick(View v) { handler.removeCallbacks(updateThread); } } //1、创建一个Handler对象 Handler handler = new Handler(); //2、将要执行的操作写在线程对象的run方法当中 Runnable updateThread = new Runnable() { @Override public void run() { System.out.println("UpdateThread"); //3000ms以后将线程加入到消息队里里(调用这个方法后隔3000ms执行一次) handler.postDelayed(updateThread, 3000); } }; }