最近有个需求,限制广告页每天只显示三次,我的思路是:如果似乎同一天,假如次数小于三,就显示广告页,次数+1,然后用SharePreferences保存时间和次数,如果不是同一天,次数就为0,然后操作跟上次一样,但总觉得哪里不太对,所以没有达到效果,求指教,以下是代码:
int frequency = SharePreferencesUtils.getIntValue(mContext,"time_and_frequency","frequency");
int lastDay = SharePreferencesUtils.getIntValue(mContext,"time_and_frequency","lastDay");
int today = Calendar.getInstance().get(Calendar.DAY_OF_YEAR);
Log.i(TAG, "date____today: "+today);
Log.i(TAG, "date____lastDay: "+lastDay);
Log.i(TAG, "date____get_frequency: "+frequency);
if (lastDay == 0 ||lastDay != today){
int new_frequency = SharePreferencesUtils.getIntValue(mContext,"time_and_frequency","new_frequency");
Log.i(TAG, "date____get_new_frequency: "+new_frequency);
if(new_frequency < 3){
new_frequency ++;
//显示广告页
int day = Calendar.getInstance().get(Calendar.DAY_OF_YEAR);
Log.i(TAG, "date____get_new_frequency++: "+new_frequency);
SharePreferencesUtils.putIntValue(mContext,"time_and_frequency","new_frequency",new_frequency);
SharePreferencesUtils.putIntValue(mContext,"time_and_frequency","lastDay",day);
}else{
//别的操作
}
}else {
if(frequency < 3){
frequency ++;
//显示广告页
int day = Calendar.getInstance().get(Calendar.DAY_OF_YEAR);
Log.i(TAG, "date____sameday_frequency: "+frequency);
SharePreferencesUtils.putIntValue(mContext,"time_and_frequency","frequency",frequency);
SharePreferencesUtils.putIntValue(mContext,"time_and_frequency","lastDay",day);
}else{
//别的操作
}
}