android简易倒数计时器

自己做的一个简易的倒数计时器。用一个线程和handler做的。
输入设定的时间的界面:是SetTime的Acitivity


点击确定后转到下面的界面:CountdownTimer的Acitivity

暂停后的界面:



有什么错误或不足之处还请各位指点:
项目文件在附件中,环境:ubuntu10.04+eclipse galileo
部分代码贴出来:

   
    //实现三个按钮操作的内部类
    private View.OnClickListener listener= new View.OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            switch(v.getId()){
            case R.id.start:
            {
                //开始计时
                updateHandler.post(updateThread);
                break;
            }
            case R.id.pause:
            {
                //暂停计时
                updateHandler.removeCallbacks(updateThread);
                break;
            }
            case R.id.reset:
            {
                 //重新设置
                 updateHandler.removeCallbacks(updateThread);
                 Intent intentReset=new Intent();
                 intentReset.setClass(CountdownTimer.this, SetTime.class);
                 CountdownTimer.this.startActivity(intentReset);
                 break;
            }
            }
        }
         
     };
    //处理数据的线程,使用匿名内部类。
    Runnable updateThread = new Runnable(){

        @Override
        public void run() {
            //获取消息
            Message msg=updateHandler.obtainMessage();
           
            try{
                Thread.sleep(1000);
            }catch(InterruptedException e){
                e.printStackTrace();
            }
            while(time>0){
            time--;
            break;
            }
            hoursInt=time/3600;
            minutesInt=(time-hoursInt*3600)/60;
            secondsInt=time-hoursInt*3600-minutesInt*60;
            //把此消息发送到消息队列中
            updateHandler.sendMessage(msg);
            //如果计时为0,就updateThread线程从线程队列中删除掉
            if(time==0){
                updateHandler.removeCallbacks(updateThread);
            }
        }};
 
       
    Handler updateHandler=new Handler(){
        //把消息从消息队列中取出处理
        public void handleMessage(Message msg){
            seconds.setText(secondsInt+"");
            minutes.setText(minutesInt+"");
            hours.setText(hoursInt+"");
            updateHandler.post(updateThread);
           
        }
    };   
}


你可能感兴趣的:(android,移动开发,adroid,休闲,倒数计时器)