Java Android-在其他活动中启动多种方法

Java Android-在其他活动中启动多种方法,java,android,observer-pattern,Java,Android,Observer Pattern,我对Android真的是个新手 我有一个健身应用程序,用户可以在其中更改它的健身房。有几种活动的内容取决于用户的健身房。 一项活动将展示健身房的训练,另一项活动将展示健身房的运动员,等等 我想要的是在用户 更改为健身房 我知道如何在iOS中做到这一点,我只需要添加一个observerNotificationCenter.default.addObserver(),但我真的不知道如何在android中做到这一点 可能吗?如果是,怎么做?首先,根据谷歌的说法,你的应用程序应该只包含一个入口点,换句话

我对Android真的是个新手

我有一个健身应用程序,用户可以在其中更改它的健身房。有几种活动的内容取决于用户的健身房。 一项活动将展示健身房的训练,另一项活动将展示健身房的运动员,等等

我想要的是在用户 更改为健身房

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


可能吗?如果是,怎么做?

首先,根据谷歌的说法,你的应用程序应该只包含一个入口点,换句话说,一个
活动,并且有
片段来表示应用程序的内容

第二,为了解决你的问题,你可以使用。它有
onSharedPreferencesChangeListener()可用于侦听信息更新(例如健身房名称、自定义用户权限、用户角色等)。当
SharedReferences
中的某些内容发生更改时,您通知应用程序的所有从属对象使用(P.S.可以使用)相应地更改其信息。您还可以在所有
片段中实现
SharedReferences
ChangeListener,并在其中更新它们的数据

无论出于何种原因,如果您想在应用程序中坚持使用多个
活动
,您仍然可以使用
SharedReferences
,但您不必听更改,只需在
活动
onCreate()中读取首选项值即可方法并相应地创建内容(更改项目可见性、颜色等)


这是一种方法。希望这能帮你找到正确的方向。祝你好运:)

我想这可能会对你有所帮助,特别是这是一个可观察的问题

与常规可观察的应用程序不同,LiveData具有生命周期意识,这意味着它尊重其他应用程序组件(如活动、片段或服务)的生命周期。这种意识确保LiveData只更新处于活动生命周期状态的应用程序组件观察员


LiveData将通知您即将进入前台的任何活动。

可能会对您有所帮助。您的方法是错误的。对于类似的工作,您必须使用片段而不是活动。一旦yser更改了设置,您就必须加载数据。不推荐小任务的观察员。请共享一些代码。你所说的“用户改变它的健身房”是什么意思?@LAD如果这必须通过活动来完成(他不能这样做),那么问题就更容易解决了。在SharedPref中存储当前健身房的详细信息,并根据使用情况在onCreare或onResume中加载相应的健身房。即使在最糟糕的情况下,程序员最终将活动堆叠成碎片,onResume也会被称为提供检查和刷新数据的机会。不使用监听器执行这类任务的另一个原因是邀请与监听器相关的内存泄漏。“根据谷歌的说法,你的应用程序应该只包含一个入口点,换句话说就是一个活动”你有参考吗?我的看法不同,“大多数应用程序包含多个屏幕,这意味着它们包含多个活动。通常,应用程序中的一个活动被指定为主活动,这是用户启动应用程序时出现的第一个屏幕。”是的,我有。引用链接:谢谢,这是一个有用的阅读。也许也值得在答案中添加链接。如果它描述了一些具体的内容,我会这样做,但这篇文章太宽泛了,无法代表对这个答案有用的内容。:)我使用活动,但带有Intent.FLAG\u ACTIVITY\u REORDER\u TO\u FRONT标志。我应该使用观察者模式吗?