私は、ユーザーがボタンをクリックしたときにオブジェクトを観察する必要があるという要件があります。ユーザーがそのボタンを再度クリックすると、観察は停止します。Android; Observableオブジェクトを購読/購読解除するためのサービスを使用するのは良い考えですか?
私の最初の考えは、レイアウトファイル内のonClick="myMethod"
を使用して、ボタンをアクティビティ内のメソッドにバインドすることです。
このメソッドを呼び出すと、startService()
が呼び出され、オブジェクトの監視が開始されます。これにより、オブザーバーとしてサービスを登録することになります。
ボタンをもう一度クリックすると、サービスがオブザーバとして登録解除されるstopService()
メソッドが呼び出されます。
私はサービスを利用することを考えています。その後のアクションはUIスレッドから取り除かれます。これは合理的なアプローチですか、これを簡単に行うことができるAndroid SDKには何かがありますか?
こんにちはマーク、オブジェクトはPOJO(文字列のカップル、日付など)になります。このオブジェクトはサードパーティのAPIから更新されます。私はサービスを利用して、そのオブジェクトの監視を「開始」および「停止」するソリューションを見つけようとしています。ユーザは、観測からの出力を見るので、アクティビティをナビゲートしません(または、アクティビティから移動すべきではありません)。 – Jimmy
@ James.Elsey: "オブジェクトはPOJOになります" - POJOは孤立して存在しません。一部のAndroidコンポーネント(サービスなど)は、そのコンポーネントを所有する必要があります。 – CommonsWare