android - 我正在开发一个只能在给定时间间隔访问的测验应用程序,每天
问题描述
我正在开发一个测验应用程序,它只能在每天给定的时间间隔访问。(比如上午 10:00:00 到 10:00:30 - 30 秒)
测验应该只在指定时间对用户开放。
在其他时间,如果用户打开应用程序,它应该只显示下一个测验的倒计时。
解决方案
查看此示例代码以检查当前时间是否在 10:00:00 和 10:00:30 之间:
try {
Calendar calendarCurrent = Calendar.getInstance();
Calendar calendarBefore = Calendar.getInstance();
calendarBefore.set(Calendar.SECOND, 0); // add second
calendarBefore.set(Calendar.MINUTE, 0); // add minute
calendarBefore.set(Calendar.HOUR_OF_DAY, 10); // add hour 0-24
Calendar calendarAfter = Calendar.getInstance();
calendarAfter.set(Calendar.SECOND, 30);
calendarAfter.set(Calendar.MINUTE, 0);
calendarAfter.set(Calendar.HOUR_OF_DAY, 10);
Log.e("current", calendarCurrent.getTime().toString());
Log.e("after", calendarCurrent.getTime().toString());
Log.e("before", calendarCurrent.getTime().toString());
if (calendarCurrent.compareTo(calendarBefore) > 0 && calendarCurrent.compareTo(calendarAfter) < 0) {
//checkes the current time is between 10:00:00 and 10:00:30.
// run your function
Log.e("ok", "ok");
}
} catch (Exception e) {
e.printStackTrace();
}
对于倒数计时器,您可以使用以下代码:
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
Log.e("your timer", "seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();
best way and safe way and correct way you need server api
并设置特定的开始和结束时间,然后您的应用程序每时每刻都会检查它以进行开始测验。
推荐阅读
- apache-spark - 从 Spark 作业执行 sudo 命令
- r - R - 在每行中创建具有不同计算的新列
- java - Java构造函数多次调用?
- android - 按时间戳升序对 X 个最近的 Firestore 文档进行排序,并实时添加
- python - 在文本数组中查找年份的索引
- azure-devops - 如何在构建管道中启用部署到 Visual Studio 应用中心任务?
- java - 调用不同版本的 SOAP API(无代码重复)
- python - 为 Keras 制作自定义损失函数
- sas - PROC PRINT 和 PROC MEANS
- ms-access - 当有多个最大值时,选择最大值在 VBA 中返回什么?