簡體   English   中英

如何檢查是否正在打開應用-Android Studio

[英]How to check if an app is being opened - Android Studio

我正在制作游戲,並正在使用sharedPreferences為玩家保存數據。 我現在設置的方式是,每次加載主應用程序(第一頁)時,都會加載之前保存的舊數據。 因此,假設一個玩家有100美元,然后他們退出了該應用程序。 再次打開該應用程序后,將加載此數據,並且一切正常。

但是,問題在於,如果在另一個活動中更改了玩家的資金,則我現在設置的方式是,只要玩家每次導航回到主要活動,就會加載數據。 因此,如果玩家在主要活動中有$ 100,則此信息每隔幾秒鍾保存一次。 如果玩家在第二項活動上花費50美元,則當他們返回主活動時,由於主活動最后一次保存的數據為$ 100,因此它將加載$ 100。

這是一個問題,解決此問題的方法是僅在打開應用程序時加載數據。 因此,就像我不想每次播放器導航到主要活動時(僅在他們打開應用程序時)加載數據一樣。 我需要一個簡單的if()布爾語句來執行此操作,但是我不確定我需要的語句是什么。

謝謝!

將布爾值存儲在sharedPreferences並檢查其是否存在或在活動創建中是否為false / true,例如,將"hasLoaded"的值存儲為truefalse onCreate檢查此值,然后相應地執行邏輯。

或者,

在mainActivity中為hasLoaded創建一個靜態變量,然后在onCreate中,執行您想做的所有事情,然后將其更改為true。

static boolean hasLoaded = false;

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

注意:將其存儲在sharedPrefs中將確保您的初始化僅對應用程序的所有使用一次發生,而將其存儲在靜態變量中將確保僅在應用程序每次運行時發生一次

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM