所以我有这种方法称为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