首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android Handler(5)

2012-08-27 
Android Handler(五)自定义的线程类java代码:/** * 自定义的线程类,通过传入的Handler,和Total 定期执行耗

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);

热点排行