[英]How can i set any function to repeat after specific amount of time?
public void scheduleAtFixedRate(TimerTask任務,延遲長,周期長)。 這看起來很有希望,但我不知道如何使用它。 任何幫助將不勝感激。它在android開發者網站上。
也許這個演示可以幫助您:
import java.util.*;
public class TimerDemo {
public static void main(String[] args) {
TimerTask tasknew = new TimerScheduleFixedRateDelay();
Timer timer = new Timer();
timer.scheduleAtFixedRate(tasknew, 500, 1000);
}
public void run() {
System.out.println("working at fixed rate delay");
}
}
您需要在類中有一個稱為“運行”的方法,該方法將被重復執行。
來源 。
您可以創建一個計時器任務並以固定的速率安排它,如下所示:
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
// This method is called in a fixed interval
}
};
timer.scheduleAtFixedRate(task, delay, period);
如果需要與TimerTask
的UI進行交互,則應按以下步驟進行操作:
TimerTask task = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
// Interact with UI here
}
});
}
};
public void scheduleAtFixedRate(TimerTask task,
long delay,
long period)
Android文檔在這里 。
參數 :
任務( TimerTask
)是將在每個period
毫秒內永久執行的代碼。 Delay
是Timer
應等待直到TimerTask
啟動的時間(以ms或Date為單位)。
您應該記住Timer將在與UI線程不同的線程中運行,因此,如果您需要更新UI,則應使用runOnUiThread等。(請參閱Xaver Kapeller答案)
這可能是一個例子
TimerTask tasknew = new TimerTask()
{
@Override
public void run()
{
/* Something here */
}
};
Timer timer = new Timer();
timer.scheduleAtFixedRate(tasknew, 500, 1000);
我注意到這里每個人都只是發布了一個示例,因此它只是帶有解釋的擴展。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.