gpt4 book ai didi

android - 应用程序启动时的日期更改检测 - Android

转载 作者:行者123 更新时间:2023-11-29 15:27:45 25 4
gpt4 key购买 nike

我是 Android 编程的新手,面临着一个可能可以在这个论坛上几秒钟内解决的挑战。

我正在尝试弄清楚如何在启动期间启用应用程序以检测自上次启动以来日期是否已更改。

当日期改变时,我打算改变 TextView 中的值。但是,如果没有,textview 将不会改变。 - 我知道如何创建此功能,但仍遇到日期更改问题?

我已经阅读了 alarmmanager,但不确定是否需要这样做,因为它不需要仅在启动期间的特定时间发生。

如有任何建议,我们将不胜感激。

谢谢,

p.s 我正在创建一个基本的报价应用程序,并希望包含当天页面的报价。为此,我需要知道日期是否已更改,以便应用程序更改报价

最佳答案

你需要的是:
SharedPreference具有描述最后日期的长值。
Calendar .

当您的 Activity 启动时(在 onCreate() 方法中似乎是一个很好的地方)您可以获得一个新的 Calendar。它将包含当前日期,您可以提取日期:

Calendar c = Calendar.getInstance();
int thisDay = c.get(Calendar.DAY_OF_YEAR); //You can chose something else to compare too, such as DATE..
long todayMillis = c.getTimeInMillis(); //We might need this a bit later.

然后您读取上次可能保存的值并将日历设置为该值,然后将其与今天进行比较:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
long last = prefs.getLong("date", 0); //If we don't have a saved value, use 0.
c.setTimeInMillis(last);
int lastDay = c.get(Calendar.DAY_OF_YEAR);

if( last==0 || lastDay != thisDay ){
//New day, update TextView and preference:
SharedPreferences.Editor edit = prefs.edit();
edit.putLong("date", todayMillis);
edit.commit();
}

关于android - 应用程序启动时的日期更改检测 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10126201/

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