![](/img/trans.png)
[英]Appium fails to launch on Android emulator with multiple activities
[英]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.