我可以获取文件的上次修改日期和时间,我想将它与我最后修改的日期和时间进行比较,但不幸的是它始终是真的..我犯了错误吗?
/* Get Last Update Time from Preferences */
SharedPreferences prefs1 = getPreferences(0);
long lastUpdateTime = prefs1.getLong("lastUpdateTime", 0);
File file = new File(filePath);
Date lastModDate = new Date(file.lastModified());
long curMillis = lastModDate.getTime();
/* Should Activity Check for Updates Now? */
if ((lastUpdateTime) <= curMillis) {
/* Save current timestamp for next Check */
SharedPreferences.Editor editor = getPreferences(0).edit();
editor.putLong("lastUpdateTime", curMillis);
editor.commit();
do somthing....
}
答案 0 :(得分:0)
您的lastUpdateTime
始终等于currMillis
,因为在您更新后,您始终将其设置为currMillis
。
您的支票应该是 -
if (lastUpdateTime < currMillis)
只有在执行完最后一次检查后文件已更新时才会执行此操作,否则即使文件未更新,currMillis
也等于lastUpdateTime
所以(lastUpdateTime <= currMillis)
会评价为真,但它应该是假的。