0

現在、Android OS 向けのゲームを開発しています。その中で、プレイヤーはアクティビティを実行できます。各アクティビティには、プレイヤーの「エネルギー」がかかります。プレイヤーの現在のエネルギー値は sqlite テーブルに保存され、ホーム画面 (home.class) に表示されます。プレイヤーがアクティビティを実行すると、エネルギー値が減少します。エネルギーがゼロになったら、カウントダウン タイマーでエネルギー値を 10 にリセットします。

これまでに実装した方法は次のとおりです。ユーザーの健康/エネルギー評価を表示するメイン画面の上部に、CountDownTimer を表示しました。

タイマーが作動します。ただし、ボタンをクリックして別のアクティビティに移動し、ホーム画面に戻ると、タイマーが再起動しました。これは、ホーム画面に戻りたいときに次のコードが実行されるためです。

Intent i = new Intent(Crime.this, Home.class); startActivity(i);

いくつかのアクティビティが実行された後にホーム画面に表示される値を更新したいので、新しい Home.class を開始します。

CountDownTimer を実装するより良い方法は何ですか? どんな助けでも大歓迎です...ありがとう:)

4

1 に答える 1

0

エネルギーをリセットしたい時間をデータベースに保存し(少なくとも を押した場合onPause)、残り時間をカチカチ音をたてるスレッドで更新します。そうすれば、現在のシステム時間などに基づいていつでも時間を再計算できるため、タイマーに依存して終了/再起動する必要はありません

于 2012-03-16T20:28:48.620 に答える