2017-03-25 12 views
-2

この質問はあいまいですが、私はGoogleに正確に何をしているのか分かりません。何かをやっていなくても、何かをやっていなくても何かをやり遂げる方法

私のアプリでは、さまざまな属性を持つタスクのリストを作成するセクションがあり、これらの数値の多くは合計され、日単位の合計で視覚的に表示されます。しかし、これらの1日の合計は、24時間ごとにリセットする必要があります(ユーザーがカットオフを選択した時間(たとえば、誰かが遅れている場合は3時)に基づいて)。

今すぐ:私のデータベースはすべてのデータを1日ごとに保持できます。次に、私の毎日のカウンターは、現在の日を探してデータベースから対応するデータを引っ張って数字を視覚的に表示します。それは簡単な部分です。

難しい部分:ユーザーが画面を回転したり、アプリケーションを再起動したりすると、新しい日が見つからないためデータベース内のアイテムを探しているため、時間切れ後にカウンタを更新できます。したがって、すべてが意図どおり0になります。しかし、ユーザーが時間切れのように画面を見ているだけの場合はどうなりますか?時間が経過するとカウンタをリフレッシュするにはどうすればよいですか?アプリをまったく使用していない場合(バックグラウンドで最小化されているか、アクティブでさえない)

バックグラウンドに、現在の時刻をデータベースの値と照合する常時実行ループが必要ですか?もしそうなら、時間を基準にしてデータベースから値を引き出す必要があるのであれば、これは非効率的ではありませんか?このようなことに対する正しい習慣は何ですか?

答えて

0

あなたはセットアップサービスと、それは多分これarticleはあなたを助けることができるあなたはそれが

をやりたいものは何でも仕事ないように定期的に実行するために、そのサービスをスケジュールすることができます。

0

アラームマネージャサービスは、あなたの要件に応じて何かをするために実装するのに最適です。

サービス:アクティビティのライフサイクルに関係なく常に実行されます。 アラームマネージャー:内部のサービスでは、アラームマネージャーを使用してイベントをトリガし、定期的にUIを更新します。

最後にローカルのブロードキャスト受信者を使用して、アクティビティをサービスから更新することができます。私が見つけたAlarmManagerについて

Android update activity UI from service

+0

http://stackoverflow.com/questions/24196890/android-schedule-task-to-execute-at-specific-:

あなたは、以下の詳細に実装を確認することができます何かの理由で私は "AlarmReceiver"を持っていないようです – user7767733

関連する問題