Android开发中如何实现Timer计时器

来源:互联网 发布:国际地面专线 知乎 编辑:程序博客网 时间:2024/05/01 17:02

  本文内容讲的是Android开发中Timer计时器如何实现。实际上TimerTimerTask都是JDK自带的功能,两个类结合可以实现定时任务执行一次,或者定期重复执行任务。

下面模拟一个Android开发Timer计时器实例:

  1、新建一个项目:Lesson34_Timer2MainActivity.java代码如下:

  package basic.android.timer;

  import java.util.Timer;

  import java.util.TimerTask;

  import android.app.Activity;

  import android.os.Bundle;

  import android.os.Handler;

  import android.os.Message;

  import android.util.Log;

  import android.view.View;

  import android.widget.Button;

  import android.widget.TextView;

  public class MainActivity extends Activity {

  Timer timer;

  @Override

  public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  // 定义UI组件

  final TextView tv1 = (TextView) findViewById(R.id.textView1);

  Button b1 = (Button) findViewById(R.id.button1);

  Log.i("yao", Thread.currentThread().getName());

  // 定义Handler

  final Handler handler = new Handler() {

  @Override

  public void handleMessage(Message msg) {

  super.handleMessage(msg);

  //handler处理消息

  if(msg.what>0){

  tv1.setText("" + msg.what);

  }else{

  //handler里可以更改UI组件

  tv1.setText("点火!");

  timer.cancel();

  }

  }

  };

  // 定义按钮的点击监听器

  b1.setOnClickListener(new View.OnClickListener() {

  @Override

  public void onClick(View arg0) {

  // 定义计时器

  timer = new Timer();

  // 定义计划任务,根据参数的不同可以完成以下种类的工作:在固定时间执行某任务,在固定时间开始重复执行某任务,重复时间间隔可控,在延迟多久后执行某任务,在延迟多久后重复执行某任务,重复时间间隔可控

  timer.schedule(new TimerTask() {

  int i = 10;

  // TimerTask 是个抽象类,实现的是Runable

  @Override

  public void run() {

  Log.i("yao", Thread.currentThread().getName());

  //定义一个消息传过去

  Message msg = new Message();

  msg.what = i--;

  handler.sendMessage(msg);

  }

  }, 1000, 200);

  }

  });

  }

  }

  

  3、直接编译运行程序,查看结果。

  本讲就这样结束了,其实在Android里进行时间调度还是有方法的,在Android里进行UI控制还是要用Handler。对Android开发Timer计时器感兴趣的朋友可以看看以上的内容。

0 0
原创粉丝点击