質問: 一日一回引けるくじを作成するのに苦戦しています。 まず boolean 属性の変数clickRightをメンバー変数でtrueにして宣言して クリックリスナーに下記を設定 ・if文でclickRightが trueの時 → くじのメソッドの処理して clickRightをfalseにしてSharedPreferencesで保存 falseの時 → 「一日一回です」というダイアログを出す。 AlarmManagerで24時間経ったらclickRightをtrueにしてSharedPreferencesで保存 メンバー変数でtrueにしてしまうといつも起動時にtrueになってしまいます。 かといって最初のtrueにするタイミングがライフサイクル上どこになるか分かりません どういった考え方(手法)をすれば良いか教えて下さい。
回答: 前回クジを引いた時間をプリファレンスに保持し、クリックが押された時の時間と比較すると良いですよ。 ただし、端末の時間を変更されたらダメな気がしますが...