android Timer使用方法,androidtimer
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); // 開始Timer16 17 handler.removeCallbacks(runnable); //停止Timer
(