0

残念ながら、私のアーキテクチャは機能しないため、あなたの助けが必要です。

私が解決したい問題:

「1分間走る」などのエクササイズを選択できるミニゲームをプログラムしました。

  • アプリ内の任意の場所にカウントダウンを表示: フラグメント、アクティビティ、アクションバー...
  • 終了後にタスクを実行する
  • フラグメントを離れる場合、カウントダウンを先に実行する必要があります
  • フラグメントに戻ると、カウントダウンは再び正しく進行するはずです

CountDownTimer を実装しながら問題を解決しようとしました。しかし、countDownTimer がフラグメントの一部である場合、フラグメントを離れると破棄されます。戻ってくるとカウントダウンタイマーが最初から…

だから私はスレッドについて考えました...しかし、どうすればフラグメントや他の場所にカウントダウンを表示できますか?

彼が終わるまでスレッドは生きていますか?アプリを閉じても?

問題を解決するために検索できるキーワードをいくつか挙げてください。それとも代わりに解決策を説明しますか?

アドバイスありがとうございます;)

4

2 に答える 2

1

アプリが終了するとスレッドが終了するはずであり、それは非常に複雑に見えるため、実際のカウントダウンを作成しようとはしません。

代わりに、実行中のカウントダウンの開始時刻と期間をどこかに (sqlite db ? file ?) 書き込みます。表示する必要があるときはいつでも、クエリを実行し、ビューを更新するために必要なプロセスを実行します。これは、(私にとっては) すべての仕様に簡単に答えることができ、スレッド化の負担もなく、わずかなディスク容量しか使用しません。さらに、すべてのカウントダウン固有のデータを問題なく保存できるため、おそらく役立つでしょう.

于 2013-07-29T15:57:10.953 に答える