本讲内容:Android Timer计时器

抱歉,这一讲似乎有点水啊,实际上TimerTimerTask都是JDK自带的功能,两个类结合可以实现定时任务执行一次,或者定期重复执行任务。

好吧上例子,这个例子实现的模拟发射火箭……,那啥,这节课的例子也好水啊。

1、新建一个项目:Lesson34_Timer

2、MainActivity.java代码如下:

view source print ?
01 package basic.android.timer;
02
03 import java.util.Timer;
04 import java.util.TimerTask;
05
06 import android.app.Activity;
07 import android.os.Bundle;
08 import android.os.Handler;
09 import android.os.Message;
10 import android.util.Log;
11 import android.view.View;
12 import android.widget.Button;
13 import android.widget.TextView;
14
15 public class MainActivity extends Activity {
16
17 Timer timer;
18
19 @Override
20 public void onCreate(Bundle savedInstanceState) {
21 super.onCreate(savedInstanceState);
22 setContentView(R.layout.main);
23
24 // 定义UI组件
25 final TextView tv1 = (TextView) findViewById(R.id.textView1);
26 Button b1 = (Button) findViewById(R.id.button1);
27
28 Log.i("yao", Thread.currentThread().getName());
29
30 // 定义Handler
31 final Handler handler = new Handler() {
32
33 @Override
34 public void handleMessage(Message msg) {
35 super.handleMessage(msg);
36 //handler处理消息
37 if(msg.what>0){
38 tv1.setText("" + msg.what);
39 }else{
40 //在handler里可以更改UI组件
41 tv1.setText("点火!");
42 timer.cancel();
43 }
44 }
45 };
46
47 // 定义按钮的点击监听器
48 b1.setOnClickListener(new View.OnClickListener() {
49
50 @Override
51 public void onClick(View arg0) {
52 // 定义计时器
53 timer = new Timer();
54
55 // 定义计划任务,根据参数的不同可以完成以下种类的工作:在固定时间执行某任务,在固定时间开始重复执行某任务,重复时间间隔可控,在延迟多久后执行某任务,在延迟多久后重复执行某任务,重复时间间隔可控
56 timer.schedule(new TimerTask() {
57 int i = 10;
58
59 // TimerTask 是个抽象类,实现的是Runable类
60 @Override
61 public void run() {
62
63 Log.i("yao", Thread.currentThread().getName());
64
65 //定义一个消息传过去
66 Message msg = new Message();
67 msg.what = i--;
68 handler.sendMessage(msg);
69 }
70
71 }, 1000, 200);
72 }
73 });
74
75 }
76
77 }

因为timer.schedule(task,5000) 是表示执行一次的任务。
timer.schedule(task,1000,5000)表示 1 秒钟后开始 5 秒钟为周期 重复执行,

3、布局文件,配置文件啊我都不上了啊,你们看源码去,不看源码也能猜出来的,直接编译运行程序,查看结果:

好吧,本讲就这样结束了,其实你也学到了点东西哈,在Android里进行时间调度还是有方法的,在Android里进行UI控制还是要用Handler的,弱弱的问一句,那些悄悄定时发短信的垃圾程序是用啥技术实现的呢?

更多相关文章

  1. Android中自定义ListView无法响应OnItemClickListener中的onItem
  2. Android软件开发之盘点自定义View界面大合集(二)
  3. android中的对话框之三:自定义对话框
  4. [自定义控件]android自定义view实战之太极图
  5. Android之AndroidStudio生成jar
  6. 对于android中自定义组件属性的理解
  7. Android(安卓)UI开发第二十五篇――分享一篇自定义的 Action Bar
  8. 新书内容连载(1):自定义Android组件之带图像的TextView
  9. Android(安卓)应用设置全局Exception处理事件的方法

随机推荐

  1. Android核心基础(七)
  2. Android EditText的输入监听,输入字符的动
  3. Android requires compiler compliance l
  4. 【Java/Android性能优2】Android性能调优
  5. android HAL框架
  6. Android(安卓)布局添加阴影背景ShadowDra
  7. Android与JS交互 -----点击js页面复制一
  8. Android 多个Fragment切换动画
  9. Android(安卓)在Fragment 中控制 Activit
  10. AsyncTask总结