我想制作一个只允许用户每5分钟发送约20条评论的评论系统。这样我可以肯定没有人会发送太多垃圾邮件......
我想我可以使用共享偏好统计评论。每个评论我都读了它并增加了数字。但是最后5分钟呢?
int value = sharedPref.getInt("count", 0);
value = value + 1;
editor.putInt("count", value);
答案 0 :(得分:1)
需要在现在和现在进行日期/时差操作 - 5分钟。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd:HH:mm");
String cTime = sdf.format(new Date());
Date date = formatter.parse(cTime);
Calendar futureTime = Calendar.getInstance();
futureTime.setTime(date);
futureTime.add(Calendar.MINUTES, 5); //This will be now + 5 minutes.
然后,您可以重置SharedPreferences变量。
将用户,时间戳和计数保存在SharedPreference变量/数据中的密钥对中。您可能必须创建一个包含两个或更多这些值的自定义对象,因为它是自己的自定义类。也许User作为字符串,而值中的其他两个,你可以稍后解析出来。使用HashMap:
Map<String, String> aMap = new HashMap<String, String>();
人们一直在游戏/应用程序世界中这样做。你每小时获得100个硬币等等。我已经在c#/ Unity3D中为iOS / Android实现了一些东西。您每小时免费获得100个硬币,如果需要,您可以在应用内购买更多,或者让时间更快!