Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android定時器,更新數據

Android定時器,更新數據

編輯:關於Android編程

做個筆記,Android中常用的定時器,用於定時更新ui數據等。


1.Handler + Runnable定時器

private Handler mHandler;

private Runnable mRunnable;

mHandler = new Handler();

mRunnable = new Runnable() {

public void run () {

//更新數據的方法

update();

}

};

//定時啟動線程(執行的線程,時間毫秒)

mHandler.postDelayed(mRunnable,4000);

//移除Handler中的線程

mHandler.removeCallbacks(mRunnable);

==================================================

2.Timer +TimerTask 定時器

Timertimer = new Timer();

timer.schedule(new TimerTask() {

@Override

public void run() {

// 執行的方法

sendMSG();

}

}, 4000); //執行的時間毫秒


3.//發送message消息

void sendMSG() {

//handler message消息

Message message = new Message();

message.what = MSG;

mHandler.sendMessage(message);

}

------Handler接收消息機制------

class MyHandlerextends Handler {

@Override

public void handleMessage(Message msg) {

// TODO Auto-generated method stub

super.handleMessage(msg);

if (msg.what ==MSG) {

//更新數據的方法

update();

}

}

};


4.每隔一段時間執行的定時器

private Timer timer;

private Handler mShowHandler = new Handler();


//啟動定時器

if (timer == null) {
timer = new Timer();
timer.scheduleAtFixedRate(new RefreshTask(), 0, 800); //每800毫秒執行一次
}

//計時器

class RefreshTask extends TimerTask {

@Override
public void run() {
//可在此加入判斷,判定什麼情況執行更新

// if( i=0 ) {
mShowHandler.post(new Runnable() {

@Override
public void run() {
//更新數據方法

update();

}
}

// }
});

//停止計時器

if(timer != null){
timer.cancel();
timer = null;
}

---------------------------------------------------------------------------------------------------

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