在指定的时间内检查变量变化?

时间:2011-11-14 15:31:35

标签: java android

我正在尝试在指定的时间内检查变量。例如,我得到一个变量: int downloadProgress = 0;

我得到了一些下载文件的代码,var downloadProgress正在更新为1..2.3 .... 5.6..7。直到..100(下载完成)。

现在我想要一个如下的线程:

Runnable checkNet = new Runnable(){
    public void run(){
        // check variable changes
    }
};

在指定的时间内检查变量downloadProgress中的更改,比如说20秒。如果变量至少比我想要做的事情没有改变20秒!

我如何利用计时器在一个线程中执行此操作!!

1 个答案:

答案 0 :(得分:2)

你可以使用计时器:http://developer.android.com/reference/java/util/Timer.html在这种情况下你不需要一个线程,因为Timer是一个线程

以下是示例:

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tv = new TextView(this);
this.setContentView(tv);

MyCount counter = new MyCount(5000,1000);
counter.start();
}

public class MyCount extends CountDownTimer{
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
tv.setText(”done!”);
}
@Override
public void onTick(long millisUntilFinished) {
tv.setText(”Left: ” + millisUntilFinished/1000);
}
}

}

来源:http://dewful.com/?p=3