私はブールisActionを持っているとしましょう。私のサービスでは、何らかの種類のタイマーメカニズムを実行したいと思います。このブール値が状態を変更する場合は、関数Xを呼び出してください。Androidサービス - 変数が時間の経過とともに非同期に変更されるかどうかを確認しますか?
これを行うにはどうすればよいでしょうか?私は、無駄にタイマを使用しようとしたと私はブール値が前後に状態を変更する可能性があるので、これを行うにはpostDelayedのハンドラが適切かどうかわからない、それは私に "偽陽性" isActionは決して変化しません。
詳細情報については、インテントが解雇され、サービスが開始されます。このサービスは、boolean isActionが約1秒間同じ状態を維持するかどうかを判断する必要があり、そうであれば何らかのアクションを行い、それ以外の場合は何もしません。
ありがとうございました。
これは全く同じ解決策です。 Oberser-Observableパターンですが、これはsharedPreferenceMechanismを使用しています。イベントメカニズムのソース部分を実装する必要がないように、より軽いコードを与えるかもしれませんが、プロパティの変更を通知するためにSharedPreferencesを常に使用するアーキテクチャ上の選択肢としてakwardを使うことができます。 – Snicolas
Trueしかし、もしその真偽値が1つだけ真実ならば、それを確実に追跡するのは間違いなく簡単です!私は一般に、Observer-Observable partternを使用するのは、 です。1.抽象化には2つの側面があり、それぞれに依存します。別のオブジェクトにこれらの側面をカプセル化することで、それらを個別に変更して再利用することができます。 2. 1つのオブジェクトを変更する際に他のオブジェクトを変更する必要があり、変更が必要なオブジェクトの数がわからない場合。 3.オブジェクトが誰であるかを前提にせずに、他のオブジェクトに通知できる必要がある場合。言い換えれば、これらのオブジェクトが緊密に結合されることは望ましくありません。 – Kenny