//activity里面不能做耗时比较长的操作、不仅会导致runtimeException、
//还会造成比较差的用户体验、需要把处理大量数据的操作放在单独的线程完成、
package com.ck;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
public class HandlerDemoActivity extends Activity {
private Button start,stop;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewByIds();
start.setOnClickListener(new startOnClickListener());
stop.setOnClickListener(new stopOnClickListener());
}
class startOnClickListener implements android.view.View.OnClickListener{
public void onClick(View v) {
//线程对象加入到执行队列
handler.post(runnable);
}
}
class stopOnClickListener implements android.view.View.OnClickListener{
public void onClick(View v) {
handler.removeCallbacks(runnable);
}
}
Handler handler = new Handler();
Runnable runnable = new Runnable(){
public void run() {
//这里加入要做的操作
System.out.println("updateThread...");
handler.postDelayed(runnable, 3000);
}
};
void findViewByIds(){
start = (Button)findViewById(R.id.start);
stop = (Button)findViewById(R.id.stop);
}
}