私は現在、非常にシンプルなカウントダウン タイマー アプリに取り組んでいます。アプリが閉じているときに起動するだけでなく、アプリが開いているときに進行状況を表示できるタイマーの正しいアーキテクチャについてアドバイスが必要です。
私が今まで持っていたのは、100ミリ秒ごとにHandleraを実行してプログレスバーを更新し、このようにハンドラーを再度呼び出す単純なものですRunnable
// ...
// start the timer
tickHandler.postDelayed(runnable, 100);
// ...
private Handler tickHandler = new Handler();
private Runnable runnable = new Runnable(){
@Override
public void run() {
if(tick()){
tickHandler.postDelayed(this, 100);
}
}
};
Timerアプリを閉じても実行できるようにしたかったのです。私は最初に a について考えましたが、その後、仕事をするのに縫い目があり、はるかに使いやすいクラスをService発見しました。AlarmManagerただし、通知センターに通知を投稿できるようにするだけでなく、アプリを再度開いてタイマーが終了したことを示したいと考えています。
これは で実行できますか、それともAlarmManagerを実装する必要がありServiceますか? Activityこのアプリケーションのアーキテクチャは、制御が から に渡され、Serviceさらに重要なことに再び戻されるという点でどのように見えるでしょうか?
ヒントをありがとう!