2011-11-14 5 views
1

私は、指定された時間内に可変的な変更をチェックしようとしています。たとえば、私は変数を持っています: int downloadProgress = 0;指定された時間内に変数の変化を確認しますか?

ファイルをダウンロードするコードがあり、var downloadProgressが1..2.3 .... 5.6..7に更新されています。 ..100(ダウンロードが完了します)まで。

今、私は次のようなスレッドを持ちたい:指定された時間内で変数downloadProgressの変化をチェック

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

は20秒を言います。変数が20秒以上変化しない場合は、何かしたい!

スレッド内でこれを行うには、どのようにタイマーを利用できますか?

答えて

2

あなたはタイマー使用することができます:タイマスレッドここ

をimliesので、あなたは、スレッドを必要としません。この場合、http://developer.android.com/reference/java/util/Timer.htmlの例である:

@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

+0

ので、私が使用します変数の変更を確認するメソッドonTickは正しいですか? – bytebiscuit

+0

これは正しい、超高速で簡単です:) –

関連する問題