2014-03-06 74 views
4

您好我已經制作了android應用程序,它可以讓用戶將應用程序拍攝的照片上傳到Facebook或讓他們將照片保存到手機中,但我想添加一個「分數」。如何讓一個計數器每天只添加一次(android)?

所以如果有人上傳或保存了一張照片,他們會得到一個觀點,但我想限制每天獲得的積分爲一分,我不確定我會如何去做這件事。

回答

4

您可以擁有一個SharedPreference值,該值保存最後一張照片保存時間戳,以毫秒爲單位。然後,每當用戶保存照片時,檢查首選項值,如果是今天,則不​​做任何操作,如果有一天,則向用戶添加分數並將首選項值更新爲新的時間戳。

這是Joda DateTime的代碼結構。

public void onSavePhoto() { 
    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
    long lastSaveTime = settings.getLong("last_save", 0); 
    int lastDay = new DateTime(lastSaveTime).getDayOfYear(); 
    int today = DateTime.now().getDayOfYear(); 

    if (lastDay < today) { 
     //add score 
     addScore(); 
     //update preference value 
     SharedPreferences.Editor editor = settings.edit(); 
     editor.putLong("last_save", today); 
    } 
} 
相關問題