2010-12-17 17 views
0

日付が変わるたびに(経過時間やユーザが手動で変更したために)日付が変わるたびに、コードが実行されるように日付を確認することはできますか?androidの日付を確認してください

EDIT:
私はこれを必要とする理由は以下の通りである:私は、カーソルによってバックアップされたリストを持っています。カーソルは、述語date >= strftime('%Y-%m-%d','now')を含むSQLite文の結果です。したがって、日付が変更された場合、リスト項目をリストから削除する必要があります(これは明らかにカーソルのrequery()を呼び出した後に行われます)。

+0

日付は常に変化します...現在の時刻は現在+任意の増分に等しい状況はありません。 – Falmarri

答えて

1

これにより、アプリを一時停止することなく日付を変更することができないため、現在の日付に対して常に照会されるようになります。注目すべきもう一つのことは、これが本当の端のように思えることです。手動でm、d、yを比較するだけなので、ユーザーが日付を変更する頻度はどれくらいですか?

1

Timerクラスの使用をお勧めします。

アプリが起動したら、 1)翌日までのスリープに必要な時間を計算します。
2)その時刻に "ウェイク"するタイマーを開始する
3)そのタイマーが終了したら、24時間後に別のタイマーを起動してください。
4)実行したいコードを実行してください。
5)手順3を繰り返します。アプリが再開するたびに、再クエリするだけです。

+0

私は同様のアプローチについても考えました(しかし、Androids Handler-Classを使用しています)。問題は、ユーザーが日付を変更するとどうなりますか?別の問題は、時間がタイムサーバーと同期しているときに、スレッドが早すぎて起きる可能性があることです(遅すぎると自分の状況が遅すぎる可能性があります)。 – Tom

+0

あなたが使用することができる戦略がいくつかありますが、それはすべて真夜中にどれだけ近いかによって異なります。質問では、要件を拡大できますか?それは厳しいですか、日付は変更されました...あなたは何を達成しようとしていますか?たぶん、日付を聞いたことは、正しいことではありません... –

+0

私は私の質問を編集し、なぜこれが必要か説明しました。 – Tom

関連する問題