我想制作一个评论系统,只允许用户每5分钟发送约20条评论。这样我可以肯定没有人会发送太多的垃圾邮件......允许用户每5分钟发送最多20条评论?
我想我可以使用sharedpreferences来计数注释。我阅读每条评论并增加数量。但是最后5分钟呢?
int value = sharedPref.getInt("count", 0);
value = value + 1;
editor.putInt("count", value);
我想制作一个评论系统,只允许用户每5分钟发送约20条评论。这样我可以肯定没有人会发送太多的垃圾邮件......允许用户每5分钟发送最多20条评论?
我想我可以使用sharedpreferences来计数注释。我阅读每条评论并增加数量。但是最后5分钟呢?
int value = sharedPref.getInt("count", 0);
value = value + 1;
editor.putInt("count", value);
在现在和现在需要做一个日期/时间差操作 - 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变量/数据中的密钥对中。您可能必须创建一个具有两个或更多这些值的自定义对象,因为它是自己的自定义类。也许用户作为字符串,另外两个值,可以稍后解析出来。使用HashMap:
Map<String, String> aMap = new HashMap<String, String>();
人们在游戏/应用程序世界中一直这样做。你每小时得到100个硬币等,等等。我已经在iOS/Android的c#/ Unity3D中实现了一些东西。您每小时免费获得100个硬币,您可以在应用内购买更多的硬币,或者让时间更快!
非常感谢你,朋友! –
不客气! @RickJoe – ApolloSoftware
可能会对“现在和现在” - 5分钟执行日期时间差操作,然后重置您的sharedpreferences变量。保存时间戳,并计入密钥对中。人们在游戏/应用程序世界中一直这样做。你每小时得到100个硬币等等,等等 – ApolloSoftware
@AololSoftware哦,谢谢你的回答,它有很多帮助! –
我会把一个详细的版本作为答案。 – ApolloSoftware