Android 我正在开发一个测验应用程序,每天只能在给定的时间间隔访问

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-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();
        }

最佳方式、安全方式和正确方式您需要服务器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呢?