Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android學習指南之三十四:Android定時器Timer的使用

Android學習指南之三十四:Android定時器Timer的使用

編輯:關於android開發

       我們將JDK中自帶的Timer和TimerTask兩個類結合使用,可以實現執行一次定時任務,或者定期重復執行任務。

       下面直接上例子,這個例子實現的是模擬發射火箭……,那啥,這節課的例子有點水啊。

       1、新建一個項目:Lesson34_Timer。

       2、MainActivity.java代碼如下:

Java代碼
  1. package basic.android.timer;   
  2.   
  3. import java.util.Timer;   
  4. import java.util.TimerTask;   
  5.   
  6. import android.app.Activity;   
  7. import android.os.Bundle;   
  8. import android.os.Handler;   
  9. 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. }  

       3、布局文件,配置文件啊我都不上了啊,比較簡單了,直接編譯運行程序,查看結果:

Android學習指南之三十四:Android定時器Timer的使用

Android學習指南之三十四:Android定時器Timer的使用

       好吧,本講就這樣結束了,其實你也學到了點東西哈:在Android裡進行時間調度還是有方法的;對Android進行UI控制還是要用Handler的,等等。弱弱的問一句,那些悄悄定時發短信的垃圾程序是用啥技術實現的呢?

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved