簡體   English   中英

Android - 在其他活動中啟動多種方法

[英]Android - Launch multiple methods in others Activities

我是Android新手。

我有一個健身應用程序,用戶可以更改它的健身房。 有幾項活動的內容取決於用戶的健身房 一項活動將顯示健身房的鍛煉,另一項活動將顯示健身房的運動員等...

我想要的是, 當用戶更換健身房時更新所有這些活動

我知道如何在iOS中這樣做,我只需要添加一個觀察者NotificationCenter.default.addObserver() ,但我真的不知道如何為Android做到這一點。

可能嗎? 如果有,怎么樣?

首先,根據谷歌的說法,您的應用程序應該只包含一個入口點,換句話說,一個Activity ,並且有Fragments來表示應用程序的內容。

其次,為了解決您的問題,您可以使用SharedPreferences 它有onSharedPreferencesChangeListener(); 可用於監聽信息更新(例如GYM名稱,您的自定義用戶權限,用戶角色等)。 SharedPreferences某些內容發生更改時,您會通過使用Observer模式 (PS可以使用RxJava )通知應用程序的所有相關對象相應地更改其信息。 您還可以在所有Fragments實現SharedPreferences更改偵聽器並在其中更新其數據。

無論出於何種原因,如果你想堅持在應用程序中使用多個Activities ,你仍然可以使用SharedPreferences ,但是你只需要在Activity onCreate();讀取偏好值,而不是聽取更改onCreate(); 方法並相應地創建內容(更改項目可見性,顏色等)。


這是其中一種方法。 希望這能讓你朝着正確的方向前進。 祝好運 :)

我認為Android架構組件可能會對此有所幫助,特別是LiveData ,它是一個Observable。

與常規observable不同,LiveData是生命周期感知的,這意味着它尊重其他應用程序組件的生命周期,例如活動,片段或服務。 此感知確保LiveData僅更新處於活動生命周期狀態的應用程序組件觀察者。

LiveData將通知您前進的任何活動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM