Android 我正在开发一个测验应用程序,每天只能在给定的时间间隔访问
我正在开发一个测验应用程序,每天只能在给定的时间间隔访问。(比如上午10:00:00到10:00:30-30秒)Android 我正在开发一个测验应用程序,每天只能在给定的时间间隔访问,android,Android,我正在开发一个测验应用程序,每天只能在给定的时间间隔访问。(比如上午10:00:00到10:00:30-30秒) 测验应仅在指定时间向用户开放。 在其他时间,如果用户打开应用程序,它应该只显示下一个测验的倒计时计时器。查看此示例代码以检查当前时间是否在10:00:00和10:00:30之间: try { Calendar calendarCurrent = Calendar.getInstance(); Calendar calendarBef
测验应仅在指定时间向用户开放。
在其他时间,如果用户打开应用程序,它应该只显示下一个测验的倒计时计时器。查看此示例代码以检查当前时间是否在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();
}
最佳方式、安全方式和正确方式您需要服务器api
并设置特定的开始和结束时间,然后您的应用程序随时检查它以进行开始测验。查看此示例代码以检查当前时间是否在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();
}
最佳方式、安全方式和正确方式您需要服务器api
并设置具体的开始和结束时间,然后您的应用程序随时检查以进行开始测试。您好,请使用一台服务器,该服务器的响应使应用程序启用/禁用。您有什么问题吗?您好,Prudhvi,欢迎来到Stack Overflow。请提供您试图实现的目标以及问题所在的详细信息。您好,请提供一个服务器,该服务器的响应使应用程序启用/禁用。您有什么问题?您好,Prudhvi,欢迎来到Stack Overflow。请提供一份报告,说明你正在努力实现的目标和问题所在。不要这样做。不要使用日历,使用Java.time。第二,不要使用倒计时,如果你的应用程序被终止,计时器将被终止(并将重新启动)。你没有提到,但如果你的应用程序在其余时间不被使用,它将被杀死。(即使是全天候使用,也不应该使用倒计时)。使用WorkManager或AlarmManager,安排JobIntentService检查您的后端,并在服务器上做出决定,除非您希望您的测验在5分钟内被黑客攻击。我知道,这是一个例子,我提到他应该使用服务器api检查开始或结束测验,这只是客户端检查,不安全,我知道,谢谢您的评论没有问题,但我真的认为这不是一个好答案。如果有的话,为什么不将其更新为使用Java.time?不要这样做。不要使用日历,使用Java.time。第二,不要使用倒计时,如果你的应用程序被终止,计时器将被终止(并将重新启动)。你没有提到,但如果你的应用程序在其余时间不被使用,它将被杀死。(即使是全天候使用,也不应该使用倒计时)。使用WorkManager或AlarmManager,安排JobIntentService检查您的后端,并在服务器上做出决定,除非您希望您的测验在5分钟内被黑客攻击。我知道,这是一个例子,我提到他应该使用服务器api检查开始或结束测验,这只是客户端检查,不安全,我知道,谢谢您的评论没有问题,但我真的认为这不是一个好答案。如果有的话,为什么不更新它以使用Java.time呢?