use*_*965 1 android date alarmmanager android-intent
我是Android编程的新手,并且可能会在此论坛上几秒钟内解决挑战。
我试图弄清楚如何在启动期间启用应用程序,以检测自上次启动以来日期是否已更改。
日期更改后,我打算更改textview中的值。但是,如果没有,textview将不会更改。-我知道如何创建此功能,但是卡在日期更改问题上?
我已经阅读了alarmmanager,但是不确定这是否是必需的,因为它不需要仅在启动期间的特定时间发生。
任何建议将不胜感激。
谢谢,
ps我正在创建一个基本的报价应用程序,并希望包括当天页面的报价。为此,我需要知道日期是否已更改,以便应用程序更改报价。
您需要的是:
一个SharedPreference
带有长值的A ,描述最后一个日期。
一Calendar
。
当您的Activity开始时(在onCreate()
Method中,这似乎是个不错的选择),您可以获得一个new 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.
Run Code Online (Sandbox Code Playgroud)
然后,您从上次读取可能保存的值,并将日历设置为此值,然后将其与今天进行比较:
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();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2011 次 |
最近记录: |