2016-05-24 5 views
0

タイマーをバックグラウンドで実行し、完了したらメインスレッド(断片)に通知できますか? 以下のコードではonTickとonFinishはメインスレッドで実行されますか?そうでなければ、AyncTaskはタイマーの完了時にメインスレッドに通知するのに役立つでしょうか?バックグラウンドでタイマーを実行し、アンドロイドアプリで完了したときにメイン(UI)スレッドに通知する

new CountDownTimer(30000, 1000) { 

    public void onTick(long millisUntilFinished) { 
     mTextField.setText("seconds remaining: " + millisUntilFinished/1000); 
    } 

    public void onFinish() { 
     mTextField.setText("done!"); 
    } 
    }.start(); 

答えて

1

タイマーが完了したときにメインスレッドに通知するバックグラウンドでタイマーを実行する方法はたくさんあります。サービス、AsyncTask、およびスレッドはすべてここで使用できます。これはSO異なる戦略のための投稿を参照してください:

Difference between Service, Async Task & Thread?

あなたのユースケースの詳細を知らなくても、私はそれが戻ってメインスレッドへの通信を容易にするために事前に定義されたコールバックが付属してAsyncTaskに探して最初にお勧めします。

このSOポストはAsynTaskを使用する方法の概要:

AsyncTask Android example

+0

感謝を!それは助けた... –

関連する問題