2014-09-03 126 views
-3

我有一个应用程序,我想让用户只需点击一次按钮就可以一天。 如果用户更改了电话的日期,可以再次点击按钮。 我应该如何使用共享首选项来执行此操作?Android的SharedPreference

+0

检查此链接了解共享偏好http://stackoverflow.com/a/24772552/3843374 – Paritosh 2014-09-03 05:41:08

+0

非常感谢.... – programmer 2014-09-03 06:17:02

回答

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(); 
} 
+0

什么是SimpleDateFormat的? @Ryderz – programmer 2014-09-03 06:16:22

+0

浏览http://developer.android.com/reference/java/text/SimpleDateFormat.html – ryderz8 2014-09-03 06:24:29