我有一个应用程序,我希望允许用户在一天中点击一次按钮。 如果用户更改手机的日期,可以再次点击按钮。 我应该如何使用共享首选项?
答案 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();
}