gpt4 book ai didi

java - 如何检查应用程序是否正在打开 - Android Studio

转载 作者:行者123 更新时间:2023-12-02 01:22:49 25 4
gpt4 key购买 nike

我正在制作游戏并使用sharedPreferences为玩家保存数据。我现在设置的方式是,每次加载主应用程序(第一页)时,都会加载之前保存的旧数据。因此,想象一下玩家有 100 美元,然后他们退出了应用程序。再次打开应用程序时,将加载此数据,一切看起来都很好。

但是,问题是,如果玩家的钱在另一个 Activity 中发生变化,我现在设置的方式是,每当玩家导航回主要 Activity 时,都会加载数据。因此,如果玩家在主要 Activity 中拥有 100 美元,则该信息会在主要 Activity 中每隔几秒保存一次。如果玩家在第二个 Activity 上花费了 50 美元,当他们返回到主要 Activity 时,由于主要 Activity 最后保存的数据是 100 美元,因此它将加载 100 美元。

这是一个问题,解决它的方法是仅在应用程序打开时加载数据。就像我不想在每次玩家导航到主要 Activity 时加载数据一样,而只是在他们打开应用程序时加载数据。我需要一个简单的 if() boolean 语句来执行此操作,但我不确定我需要的语句是什么。

谢谢!

最佳答案

sharedPreferences 中存储一个 boolean 值,并在创建 Activity 时检查它是否存在或者是否为 false/true,例如存储 "hasLoaded" 的值truefalse 值。在 onCreate 中检查此值,然后相应地执行您的逻辑。

或者,

在 mainActivity 中为 hasLoaded 创建一个静态变量,然后在 onCreate 中执行您想要执行的所有操作,然后将其更改为 true。

static boolean hasLoaded = false;

if(!hasLoaded){
//all your logic here
hasLoaded = true;
}

注意:将其存储在 sharedPrefs 中将确保您的初始化对于应用程序的所有使用仅发生一次,而将其存储在静态变量中将确保它仅在应用程序的每次运行中发生一次

关于java - 如何检查应用程序是否正在打开 - Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57401688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com