2012-03-16 9 views
0

私は現在、Android OS用のゲームを開発中です。その中で、プレイヤーは活動を行うことができます。各活動は、プレーヤーのエネルギーを消費します。プレーヤーの現在のエネルギー値はsqliteテーブルに保存され、ホーム画面(home.class)に表示されます。プレイヤーがアクティビティを実行すると、エネルギー値が減少します。エネルギーがゼロになったら、カウントダウンタイマーでエネルギー値を10にリセットします。CountDownTimerを正しく実装する

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

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

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

私はいくつかの活動の後にホーム画面に表示された値を更新するので、それは新しいHome.classを開始します実施されている。

CountDownTimerを実装するより良い方法はありますか?任意の助けを感謝される...ありがとう:)

+0

Homeクラスにrefresh()タイプのメソッドを追加して、新しいインスタンスを作成する代わりに呼び出すことができますか? – Thomas

+0

このような意味ですか? 'public void onBackPressed(){ \t \t super.onBackPressed(); \t \t \t \t \t h = new Home(); \t \t \t h.refresh(); ' – gurpsone

答えて

0

あなたがデータベースにエネルギーをリセットする(少なくとも一度あなたがヒットをヒットしたい)時間を保存し、ティッキングスレッドの事で残りの時間を更新します。そうすることで、タイマーに依存する必要はありません。終了/再開には時間を再計算する必要があります。現在のシステム時刻

関連する問題