android中的SharedReference

android中的SharedReference,android,sharedpreferences,Android,Sharedpreferences,我有一个应用程序,我想允许用户每天只点击一次按钮。 如果用户更改了手机的日期,可以再次点击按钮。 使用共享首选项时,我应该怎么做?在第一次单击按钮时,单击store todays date并使布尔值为true,这将使其不可单击: if (prefs.getBoolean("ButtonClicked", false) == false) { Date todaysDate = new Date(); SimpleDateFormat df = new SimpleDateFor

我有一个应用程序,我想允许用户每天只点击一次按钮。 如果用户更改了手机的日期,可以再次点击按钮。
使用共享首选项时,我应该怎么做?

在第一次单击按钮时,单击store todays date并使布尔值
为true
,这将使其不可单击:

if (prefs.getBoolean("ButtonClicked", false) == false) {
    Date todaysDate = new Date();

    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    String lastFetchedDate = df.format(todaysDate);

    Editor editor = prefs.edit();
    editor.putString("ButtonClickedCheckDate", lastFetchedDate);
    editor.putBoolean("ButtonClicked", true);
    editor.commit();

}   
现在,单击第二天并再次使布尔值
为false
-

Date currentDate = new Date();
String lastFetchedDate = prefs.getString("ButtonClickedCheckDate", null);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String currentDateString = df.format(currentDate);

Date lastFetchedDateObj = null;
Date cureentDateObj = null;
try {
    lastFetchedDateObj = df.parse(lastFetchedDate);
    cureentDateObj = df.parse(currentDateString);
} catch (ParseException e) {
    e.printStackTrace();
}
if (lastFetchedDate != null && cureentDateObj.after(lastFetchedDateObj)) {
    Editor editor = prefs.edit();
    editor.putBoolean("ButtonClicked", false);
    editor.commit();
}

查看此链接了解共享首选项SimpleDataFormat是什么@莱德斯戈酒店