android中的共享首选项

时间:2014-09-03 05:38:12

标签: android sharedpreferences

我有一个应用程序,我希望允许用户在一天中点击一次按钮。 如果用户更改手机的日期,可以再次点击按钮。 我应该如何使用共享首选项?

1 个答案:

答案 0 :(得分:1)

第一次按下按钮点击存储今天的日期,并使布尔值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();
}