android - 允许用户每 5 分钟最多发送 20 条评论?

标签 android android-studio android-sharedpreferences

我想做一个评论系统,只允许用户每 5 分钟发送大约 20 条评论。这样我就可以确定没有人会发送太多垃圾邮件...

我想我可以使用 sharedpreferences 计算评论数。每条评论我都会阅读并增加数量。但是最后 5 分钟怎么样?

int value = sharedPref.getInt("count", 0);
value = value + 1;
editor.putInt("count", value);

最佳答案

需要对 Now 和 Now - 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 变量/数据中的 key 对中。您可能必须创建一个具有两个或多个这些值的自定义对象,因为它是自己的自定义类。可能User就是字符串,另外两个在value里面,后面可以解析出来。使用 HashMap:

Map<String, String> aMap = new HashMap<String, String>();

人们在游戏/应用程序世界中一直这样做。你每小时得到 100 个硬币,等等。我已经在 c#/Unity3D 中为 iOS/Android 实现了一些东西。您每小时免费获得 100 个金币,如果需要,您可以通过应用内购买获得更多金币,或者让时间过得更快!

关于android - 允许用户每 5 分钟最多发送 20 条评论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42840972/

相关文章:

android-studio - Unresolved reference : kotlinx

android - SharedPreferences 字符串设置为数组顺序问题

java - 如何保存 View 组件的位置?

android - Android 中的圆形按钮

android - 将整个文件夹从 windows 移动到 Android 模拟器

java - 您将如何保存改造的列表响应

Android:如何以编程方式为可绘制的矢量设置描边颜色

android - 使用 gradle 构建系统创建测试 Android apk

java - 如何在SharedPreferences中保存ImageButton的资源?

android - getApplication() 和跨越给定应用程序中的 Activity