您好我已经制作了Android应用程序,允许用户将应用程序上拍摄的照片上传到Facebook或让他们将照片保存到手机但我想添加“分数”。
因此,如果有人上传或保存了一张照片,他们会得到一个观点,但我想将每天获得的积分限制在一点,我不知道我该怎么做。
答案 0 :(得分:5)
您可以拥有一个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);
}
}