アクティビティA、アクティビティB、およびオブジェクトCがあります。アクティビティAからアクティビティBを開始する必要があります。使用可能なアクティビティBは、ロケーションオブジェクトで通知されなければなりません。データ/モデルが変更されたときにビュー/アクティビティを通知する
android dosentがアクティビティ参照を保持できるので、オブジェクトCがアクティビティBにどのように通知できるかわかりません。
アクティビティA、アクティビティB、およびオブジェクトCがあります。アクティビティAからアクティビティBを開始する必要があります。使用可能なアクティビティBは、ロケーションオブジェクトで通知されなければなりません。データ/モデルが変更されたときにビュー/アクティビティを通知する
android dosentがアクティビティ参照を保持できるので、オブジェクトCがアクティビティBにどのように通知できるかわかりません。
ユーザーの場所をバックグラウンドで検索するAsyncTaskを作成します。
完了したら、UIを更新したり、ユーザーに通知を作成したりすることができます。
Bound Serviceを実装します。あなたの位置情報は、このサービス内(もちろん、別のスレッド上)に取得され、サービスにバインドされるときにアクティビティB内で取得されます。
Java ObserverクラスとObservableクラスを使用します。
データオブジェクト(モデル)でObservableクラスを拡張することにより、前記データモデルの変更をリッスンするオブザーバを割り当てることができます。データが変更されると、オブザーバに自動的に通知され、update()
メソッドが起動されます。
update()
メソッドは、データの変更によって影響を受けるビューを更新するコードを配置するための明白な場所です。これは、ビューとデータモデルの間のリンク(通常はAndroidアクティビティ)が行われる場所です。 ObserverクラスとObservableクラスを使用することの美しさは、データモデル、ビュー、コントローラ(ビューを更新するActivity)がすべて分離されていることです。つまり、データ・モデルを使用することができます。ビューを変更すると、データ・モデルが破損することはありません。逆もまた同様です。これにより、アプリをはるかに簡単に理解でき、後で更新することが容易になります。
ここに簡単なコード例を示します。http://www.ootpapps.com/eclipse_projects/ObserverExample.zip