所以我有這種方法稱爲PredictionEngine(int)
,我想運行一定的時間與每次運行之間的一定的時間延遲。該方法是這樣的:運行一定的時間的方法
private void PredictionEngine(int delay) throws Exception {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
enableStrictMode();
String val = null;
try {
if (tHighPass == 0 && tLowPass == 0 && tKalman == 1) {
//Magic
} else {
//Magic
}
} catch (Exception e) {
e.printStackTrace();
}
enableStrictMode();
new DropboxTask(side_output, "Result", val).execute();
}
}, delay);
}
中顯而易見,我運行在主線程的網絡操作,因爲這是一個研究應用,並沒有客戶端曾經打算使用它。
我想讓整個函數運行一個100次,並且延遲一段時間,比如2秒。最初的想法是這樣做的:
for(loop 100 times){
PredictionEngine(int)
Thread.sleep(2000); //sorry for StackOverflow programming.
}
但是我不想阻塞主線程,因爲我正在讀取一些傳感器數據。任何想法都是非常有幫助的!
謝謝。
[定時器](https://developer.android.com/reference/java/util/Timer.html) – Onik