4
您好我已經制作了android應用程序,它可以讓用戶將應用程序拍攝的照片上傳到Facebook或讓他們將照片保存到手機中,但我想添加一個「分數」。如何讓一個計數器每天只添加一次(android)?
所以如果有人上傳或保存了一張照片,他們會得到一個觀點,但我想限制每天獲得的積分爲一分,我不確定我會如何去做這件事。
您好我已經制作了android應用程序,它可以讓用戶將應用程序拍攝的照片上傳到Facebook或讓他們將照片保存到手機中,但我想添加一個「分數」。如何讓一個計數器每天只添加一次(android)?
所以如果有人上傳或保存了一張照片,他們會得到一個觀點,但我想限制每天獲得的積分爲一分,我不確定我會如何去做這件事。
您可以擁有一個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);
}
}