android Timer使用方法


Timer屬性:http://www.apihome.cn/api/java/Timer.html

聲明創建:

 1 private Timer mTimer;
 2 
 3 protected void onCreate(Bundle savedInstanceState) { 
 5         super.onCreate(savedInstanceState);
 6         this.setContentView(R.layout.main); 7 
 8         timer = new Timer();
 9         timer.schedule(task, 1000, 5000);
11     }
13 
14 TimerTask task = new TimerTask() {
15         @Override    
16         public void run() {
18             Message message = new Message();
20             message.what = 1;
22             handler.sendMessage(message);
24         }
26     };
27 
28     final Handler handler = new Handler() {
30         public void handleMessage(Message msg) {
32             switch (msg.what) {
34             case 1:
36                 log.e("Timer", "Timer");
38                 //要實現的功能代碼:update();
40                 break;
42             }
44             super.handleMessage(msg);
46         }
48     };
49 
50     protected void onDestroy() {
52         if (timer != null) {
54             timer.cancel();
56             timer = null;
58         }
60         super.onDestroy();
62     }

最重要的一點是 timer.schedule(task,1000,5000),如果設置為 timer.schedule(task,5000)是不會工作的。
因為timer.schedule(task,5000) 是表示執行一次的任務。
timer.schedule(task,1000,5000)表示 1 秒鍾后開始 5 秒鍾為周期 重復執行

 1     private Handler handler = new Handler( );
 2 
 3     private Runnable runnable = new Runnable( ) {
 4 
 5     public void run ( ) {
 6 
 7        update( );
 8 
 9        handler.postDelayed(this,1000);     //postDelayed(this,1000)方法安排一個Runnable對象到主線程隊列中
10 
11       }
12 
13     };
14 
15     handler.postDelayed(runnable,1000);         // 開始Timer
16 
17     handler.removeCallbacks(runnable);           //停止Timer

(轉自:http://blog.csdn.net/jincf2011/article/details/6603916)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM