首页 > 解决方案 > Android - 在其他活动中启动多种方法

问题描述

我对Android真的很陌生。

我有一个健身应用程序,用户可以在其中更改它的健身房。有几个活动的内容取决于用户的健身房。一项活动将显示健身房的锻炼情况,另一项活动将显示健身房的运动员,等等......

我想要的是在用户更改它的健身房时更新所有这些活动

我知道如何在 iOS 中做到这一点,我只需要添加一个观察者NotificationCenter.default.addObserver(),但我真的不知道如何为 android 做到这一点。

是否可以?如果是,如何?

标签: javaandroidobserver-pattern

解决方案


首先,根据谷歌的说法,你的应用程序应该只包含一个入口点,换句话说就是一个Activity,并且必须Fragments代表应用程序的内容。

其次,为了解决您的问题,您可以使用SharedPreferences。它onSharedPreferencesChangeListener();可以用来监听信息的更新(例如健身房名称、您的自定义用户权限、用户角色等)。当您使用观察者模式(PS 可以为此使用RxJavaSharedPreferences )通知应用程序的所有依赖对象以相应地更改其信息时,您会通知应用程序的所有相关对象。您还可以在所有中实现更改侦听器并在那里更新他们的数据。SharedPreferencesFragments

如果出于某种原因,您想在应用程序中坚持使用 multiple Activities,您仍然可以使用SharedPreferences,但您无需听取更改,只需读取Activity onCreate();方法中的首选项值并相应地创建内容(更改项目可见性、颜色等) .


这是方法之一。希望这能让你朝着正确的方向前进。祝你好运 :)


推荐阅读