码迷,mamicode.com
首页 > 移动开发 > 详细

Android中支持暂停和恢复的Timer和TimerTask封装

时间:2015-01-09 14:07:51      阅读:1473      评论:0      收藏:0      [点我收藏+]

标签:

由于Timer和TimerTask类的对象只能用一次,所以如果想多次调度同一样的任务,必须重新实例化。

所以,封装了一个TimerHelper类,测试可用。

 1 public abstract class TimerHelper {
 2 
 3     private Timer mTimer = null;
 4 
 5     public void start(long delay, long period)
 6     {
 7         stop();
 8 
 9         mTimer = new Timer();
10         mTimer.schedule(new TimerTask() {
11             @Override
12             public void run() {
13 
14                 TimerHelper.this.run();
15             }
16         }, delay, period);
17     }
18 
19     public void stop()
20     {
21         if (mTimer != null) {
22 
23             mTimer.cancel();
24             mTimer = null;
25         }
26     }
27 
28     public TimerHelper() {
29 
30         mTimer = null;
31     }
32 
33     public abstract void run();
34 }

 

 

示例代码:

 1 public class MainActivity extends Activity {
 2 
 3     private final String TAG = this.getClass().getSimpleName();
 4 
 5     private TimerHelper mTimerHelper = null;
 6 
 7     @Override
 8     protected void onCreate(Bundle savedInstanceState) {
 9         super.onCreate(savedInstanceState);
10         setContentView(R.layout.activity_main);
11 
12         ///
13         mTimerHelper = new TimerHelper() {
14             @Override
15             public void run() {
16 
17                 Log.d(TAG, "timer run-----");
18             }
19         };
20     }
21 
22     @Override
23     protected void onResume() {
24 
25         mTimerHelper.start(500, 5000);
26 
27         super.onResume();
28     }
29 
30     @Override
31     protected void onPause() {
32 
33         mTimerHelper.stop();
34 
35         super.onPause();
36     }
37 }

 

Android中支持暂停和恢复的Timer和TimerTask封装

标签:

原文地址:http://www.cnblogs.com/tianjun9/p/4213113.html

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!