Android Handler(五)

       自定义的线程类

java代码:

/** * 自定义的线程类,通过传入的Handler,和Total 定期执行耗时操作 *

@author linzijun * */



public class TimerThread extends Thread {

public int Total=60;

public Handler handler;

/** * 初始化构造函数

* @param mhandler handler 用于发送消息

* @param total 总周期

*/

public TimerThread(Handler mhandler,int total) {

super();

handler=mhandler;

Total=total;

}

@Override

public void run() {

while(true) {

Total--;

if(Total<0) break;

try { Thread.sleep(1000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} Message msg=new Message();

Bundle date = new Bundle();

// 存放数据

date.putInt("time", Total);

msg.setData(date);

msg.what=0;

Log.d("ThreadId", "Thread:" + String.valueOf(Thread.currentThread().getId())); handler.sendMessage(msg);

}

super.run();

}



}
  这里继承了Thread类,也可以直接实现 Runnable接口。
  关于POST

  Post的各种方法是把一个Runnable发送给消息队列,它将在到达时进行处理。

  POST

java代码:
public class PostHandler extends Activity implements OnClickListener, Runnable {

private TextView txt;

private Button btnStart, btnStop;

private Handler myHandler;

private Timer timer;

private int total = 60;



@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

txt = (TextView) findViewById(R.id.txt);

btnStart = (Button) findViewById(R.id.btnStartTime);

btnStop = (Button) findViewById(R.id.btnStopTime);

你可能感兴趣的:(android)