首页 > 解决方案 > 如何在两个活动的共享首选项中存储时间

问题描述

当我的用户玩游戏时,我想将他们锁定 30 秒。我正在尝试使用SharedPreferences. 我对SP不太熟悉,也不完全确定如何使用它。所以它应该看起来像这样

ifGameOver(){

//lock the game for 30 seconds 
//send users to main menu until 30seconds is over

}

然后在主菜单中,我希望能够看到 TextView 倒计时 30 秒。所以在这里我会getLong或什么(?)。任何人都可以对此有所了解吗?

标签: javaandroid

解决方案


将当前时间保存到SharedPreferences头等舱Activity

private void saveCurrentTIme() {
        SharedPreferences sharedpreferences = getSharedPreferences("myAppPref",
            Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedpreferences.edit();
        editor.putLong("GameTime", System.currentTimeMillis());
        editor.commit();
}

SharedPreferences从第二Activity类中检索节省的时间:

    private long getSavedTime() {
            SharedPreferences sharedpreferences = getSharedPreferences("myAppPref", Context.MODE_PRIVATE);
            return sharedpreferences.getLong(Name, 0L);

     }

为了比较节省的时间是否已过,您可以创建类似Timer.

您可以查看此答案以了解如何操作。


推荐阅读