我必須解決一個理論問題,只想獲得有關在android中解決此問題的最佳模式/練習的反饋。在活動活動/片段之間同步數據
任務: 應用程序可能有幾個活動/片段顯示對象列表。如果一個對象同時出現在多個列表中,我想同步對這個對象的更改。所以例如如果我刪除對象,它應該在所有列表中消失。
的限制是
- 我不知道是哪個名單當前實例
- 每個列表都有它自己的對象實例。數據未列出之間直接共享
我的解決方案至今將
- 定義存儲類,它提供了數據訪問
- 創建一個自定義應用程序類和實例存儲類方法(例如內容提供者訪問所需的)
- Storage類定義了一個Listener,其中每個活動都可以註冊自己
- 如果活動修改了一個活動對象,它必須通過(應用程序)存儲來完成,Storage類將事件發送到每個註冊的活動/片段,以便他們可以採用這些更改。
有沒有人知道更好的解決方案呢?我的解決方案是否符合android生命週期?
非常感謝每一種有用的反饋
http://developer.android.com/reference/android/content/ContentProvider.html ContentProviders應該提供您尋求的答案。 – DeeV
感謝您的提示。正如@dangVarmit已經提到的,我可以向內容解析器註冊一個監聽器,以獲得有關更改的通知。但是,它沒有爲我提供正在更改的實際對象。當我在尋找最優雅/最簡單的解決方案時,使用Otto作爲EventBus的方法會更好嗎? – user1033552