java - Android - 在其他活动中启动多种方法
问题描述
我对Android真的很陌生。
我有一个健身应用程序,用户可以在其中更改它的健身房。有几个活动的内容取决于用户的健身房。一项活动将显示健身房的锻炼情况,另一项活动将显示健身房的运动员,等等......
我想要的是在用户更改它的健身房时更新所有这些活动。
我知道如何在 iOS 中做到这一点,我只需要添加一个观察者NotificationCenter.default.addObserver()
,但我真的不知道如何为 android 做到这一点。
是否可以?如果是,如何?
解决方案
首先,根据谷歌的说法,你的应用程序应该只包含一个入口点,换句话说就是一个Activity
,并且必须Fragments
代表应用程序的内容。
其次,为了解决您的问题,您可以使用SharedPreferences。它onSharedPreferencesChangeListener();
可以用来监听信息的更新(例如健身房名称、您的自定义用户权限、用户角色等)。当您使用观察者模式(PS 可以为此使用RxJavaSharedPreferences
)通知应用程序的所有依赖对象以相应地更改其信息时,您会通知应用程序的所有相关对象。您还可以在所有中实现更改侦听器并在那里更新他们的数据。SharedPreferences
Fragments
如果出于某种原因,您想在应用程序中坚持使用 multiple Activities
,您仍然可以使用SharedPreferences
,但您无需听取更改,只需读取Activity
onCreate();
方法中的首选项值并相应地创建内容(更改项目可见性、颜色等) .
这是方法之一。希望这能让你朝着正确的方向前进。祝你好运 :)
推荐阅读
- c++ - 将第三方库与我的 C++ 包装器代码静态链接在一起
- linux - 如何使用 Linux 命令在 Jenkins 控制台中提取 testNG 结果
- java - 我不能用 spark 写一个 orc 文件
- javascript - 以编程方式创建未定义的类
- python - 如何解决:“列表索引必须是整数或切片,而不是 str”
- r - 在 RStudio 中使用逐字代码块时 knitr 的副作用
- rust - 锈溢出左移
- java - 具有数据加密功能的 PostgreSQL JDBC 驱动程序
- ember.js - 当我在 transitionTo() 中添加 queryParam 时,我的 ember 应用程序完全重新加载
- python - 我已将连续特征转换为分类特征。我在 Pandas 中得到 NaN