如何在所有活动中保持变量状态?

时间:2019-07-23 16:51:51

标签: java android android-intent android-activity

我如何在所有活动中保存数据,所以当我在活动A上更改变量时,该变量将在其所属的所有活动中更改。

因此,为了安全,轻松地玩游戏,我想知道完成此操作的正确方法。

我读了一些ppl sayng来使用静态变量,但是我喜欢45-70变量和21个类,而doenst觉得让我将所有内容都设为静态是正确的...

我也一直在使用意图在活动之间传递数据,但是我必须一直手动更新它,这有时会导致不一致。

我的目标是创建一个可以在所有活动之间自动共享的类,并在所有活动之间复制任何更改。

1 个答案:

答案 0 :(得分:1)

您在这里寻找的是一个模型对象。 Android拥有一个ViewModel对象,可以很好地解决此问题。 ViewModel对象应该能够超过使用它的任何活动或片段的生命周期。我建议您检查该链接,因为它可能会比我更彻底地解释如何使用ViewModel

编辑:我误解了您问题的某些部分。绝对可以选择使用您提到的静态类(在我看来,不是反模式)。如果您希望在重新启动应用程序时保留该数据,则还可以使用Room。

另一方面,我还建议您在模型内部使用LiveDataLiveData是各种包装器,几乎可以观察到任何对象。您将能够观察模型对象中的数据,并通知需要相应了解的活动。