Java 安卓,每天重置一个值

Java 安卓,每天重置一个值,java,android,reset,Java,Android,Reset,我正在开发一个计时器应用程序,它可以在时间块(pomodoros)中工作,我希望有一个变量可以跟踪每天经过的时间块的数量,这样它可以在同一天内继续计数,但在第二天返回到零 我想通过在更新这个值时保存“最后记录的一天”来实现这一点,每次程序启动时,检查它是否为当前日期并相应地采取行动。因此,我: public void saveDailyPomodoros() { SharedPreferences sharedPrefs = PreferenceManager.getDefaul

我正在开发一个计时器应用程序,它可以在时间块(pomodoros)中工作,我希望有一个变量可以跟踪每天经过的时间块的数量,这样它可以在同一天内继续计数,但在第二天返回到零

我想通过在更新这个值时保存“最后记录的一天”来实现这一点,每次程序启动时,检查它是否为当前日期并相应地采取行动。因此,我:

    public void saveDailyPomodoros() {
    SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
    int currentDay = Calendar.getInstance().get(Calendar.DAY_OF_YEAR);
    sharedPrefs.edit().putInt("dailyPomodoros", dailyPomodoros).commit();
    sharedPrefs.edit().putInt("lastRecordedDay", currentDay).commit();
    showDailyPomodoros.setText(String.valueOf(dailyPomodoros));
}
它保存了值(当我更改它时调用此函数),并且

在程序开始时和用户退出首选项屏幕时调用

在第二种情况下,它可以正常工作,但是如果我关闭应用程序/重新启动设备,它就无法工作,即使其他首选项正在保存(我有未重置的自定义铃声的共享首选项)


我做错了什么?

也许你可以尝试为你的应用程序创建私人首选项,如下所示:

SharedPreferences sharedPrefs = getApplicationContext().getSharedPreferences("SOME_NAME",0);

可能是您的共享首选项在强制关闭/重新启动后被保存为
null
SharedPreferences sharedPrefs = getApplicationContext().getSharedPreferences("SOME_NAME",0);