私はAndroidでTimerTask関数のドキュメントを見つけるのに苦労しています。 TimerTaskを使用して間隔を置いてスレッドを実行する必要がありますが、これについてどうやってどうやったらいいのか分かりません。 アドバイスや例があれば幸いです。どのようにしてスレッドを実行するのにTimerTaskを使用しますか?
答えて
Timer
を使用し、schedule
のいずれかの方法を使用してTimerTask
をスケジュールすると、自動的に新しいスレッドが作成されます。
例:
Timer t = new Timer();
t.schedule(myTimerTask, 1000L);
これは、1秒に1回そのタイマーに属するスレッドでmyTimerTask
を実行するタイマーを作成します。
私はこのような何かを実装している、それが正常に動作します:
private Timer mTimer1;
private TimerTask mTt1;
private Handler mTimerHandler = new Handler();
private void stopTimer(){
if(mTimer1 != null){
mTimer1.cancel();
mTimer1.purge();
}
}
private void startTimer(){
mTimer1 = new Timer();
mTt1 = new TimerTask() {
public void run() {
mTimerHandler.post(new Runnable() {
public void run(){
//TODO
}
});
}
};
mTimer1.schedule(mTt1, 1, 5000);
}
すばらしい答え...なぜアップフォートはありませんか? .... –
予定は何ですか? – Praneeth
スケジュール内の1は、スケジュールされたTimerTaskを最初に実行するまでの時間(ミリ秒単位)です。 5000は、後続の実行の間の遅延量(ミリ秒単位)です。 – Cogentleman
これは、タイマータスクのための完璧な例です。
Timer timerObj = new Timer();
TimerTask timerTaskObj = new TimerTask() {
public void run() {
//perform your action here
}
};
timerObj.schedule(timerTaskObj, 0, 15000);
- 1. どのようにTimerTaskを使用して連続して実行できますか?
- 2. Pythonスレッドの実行はどのように引数を実行しますか?
- 3. プロトコルを使用して同時実行スレッドを実装するにはどうすればよいですか?
- 4. Jetty HttpClientはスレッドをどのように使用しますか?
- 5. Android Dev:UIスレッドでTimerTaskを実行
- 6. Observableを別のスレッドで実行しているのをどのように数えてブロックしますか?
- 7. TimerTaskを永久に実行するのではなく、どのように制限を設けますか?
- 8. Javaでは、スレッドが実行されているかどうかをどのように判断しますか?
- 9. TimerTaskは他のすべての実行を中止します
- 10. ErlangはどのようにOSスレッドを使わずに並行処理を実装していますか?
- 11. スレッドを使用する(使用、作成など)スレッドを主に実行する
- 12. Windows 7でコマンドプロンプトを使用して実行可能ファイルをどのように実行しますか?
- 13. スレッドは実行状態から実行可能状態にどのように移行しますか?
- 14. GolangはどのようにゴルーチンのOSスレッドを実装していますか?
- 15. newCachedThreadPoolはどのようにスレッドを再利用しますか?
- 16. すべてのスレッドがアンドロイドで終了したらどのように機能を実行しますか?
- 17. (メッセージポンプを使用して)uiスレッドでデリゲートを実行します。
- 18. スレッドからコンストラクタを使用してメソッドを実行する
- 19. スレッドはどのように内容を実行し、一時停止して繰り返しますか?
- 20. .NET Interopを使用して、既に実行中のCOMオブジェクトにどのようにアクセスしますか?
- 21. セマフォを使用してシーケンス内のスレッドを実行する
- 22. 実行時に、どのようにしてJavaスレッドの数を制限できますか
- 23. libGDXは:どのように私は、実行()のすべてのタスクの後に何かを行うことができます - 方法をTimerTaskを
- 24. コードを実行しているスレッドの数はどのように測定できますか?
- 25. sun.security.providerを使用してSHA3-256ハッシュを実行できますか?もしそうなら、どのように?
- 26. sendOrderedBroadcast - どのスレッドがレスポンスレシーバを実行していますか?
- 27. コアよりスレッドが多い場合は、どのようにしてMPIをすべてのコアで実行しないようにしますか?
- 28. Pythonを使用してどのようにadblockしますか?
- 29. スレッドを実行しているタスクが永久に停止するようにスレッドを停止するにはどうすればよいですか?
- 30. MSBuildを使用して(実際に)AfterPublishを実行するにはどうすればよいですか?
上記のコードは、タスクを1秒後に_only once_だけスレッド内で実行する「Timer」を作成します。毎秒1回タスクを実行するには、 'schedule(TimerTask task、long delay、long period)'というオーバーロードされた 'schedule'メソッドを使います。たとえば、 'timer.schedule(myTimerTask、1000L、2000L)'は、1秒の初期遅延後に2秒ごとに実行されるタイマーを作成します。ここにメソッド[リンク]へのリンクがあります(https://developer.android.com/reference/java/util/Timer.html#schedule(java.util.TimerTask、long、long))[link] –
リンク上記のコメントで間違ってフォーマットされました。ここには[タイマーの方法](https://developer.android.com/reference/java/util/Timer.html)の修正されたリンクがあります –