Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 持续时间为的登录尝试_Java_Android_Xml_Android Layout_Android Studio - Fatal编程技术网

Java 持续时间为的登录尝试

Java 持续时间为的登录尝试,java,android,xml,android-layout,android-studio,Java,Android,Xml,Android Layout,Android Studio,我尝试了登录,但问题是我想有登录的持续时间。我的意思是,如果尝试失败,我想放一个额外的信息说“你的尝试达到0,请等待3分钟再次登录”或类似的东西 登录表单XML 我该怎么做呢?我建议如下 login(){ //show your loading text visible new Thread(new Runnable() { @Override public void run() { boolean loginTrue

我尝试了登录,但问题是我想有登录的持续时间。我的意思是,如果尝试失败,我想放一个额外的信息说“你的尝试达到0,请等待3分钟再次登录”或类似的东西

登录表单XML
我该怎么做呢?

我建议如下

login(){

    //show your loading text visible
    new Thread(new Runnable() {

        @Override
        public void run() {
            boolean loginTrue = //request your web login method                 

            //You don'y need handler to pause thread. Http request will pause until response from server                

            runOnUiThread(new Runnable() {

                @Override
                public void run() {
                    //set invisible your laoding text
                    if(loginTrue){
                        Toast.makeText(Mobile_Grocery.this, "Email and Password is correct",
                            Toast.LENGTH_SHORT).show();
                    }else{
                        Toast.makeText(Mobile_Grocery.this, "Email and Password is incorrect",
                            Toast.LENGTH_SHORT).show();
                    }

                }
            });


        }
    }).start();
}

你可以这样做

首先定义

private static final int WAIT_TIME = 3 * 60 * 1000;

private int loginAttempts = 3;
在登录按钮中,单击listener

    login_btn.setOnClickListener(
                new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(loginAttempts == 0) {

                    Toast.makeText(Mobile_Grocery.this, "Your attempt reach 0, please wait 3 minutes to log again", Toast.LENGTH_SHORT).show();
                    return;
                }

                if (email.getText().toString().equals("admin") &&
                        password.getText().toString().equals("pass")) {
                    Toast.makeText(Mobile_Grocery.this, "Email and Password is correct",
                            Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent("com.example.admin.mobile_grocery.Method");
                    startActivity(intent);

                } else {

                    loginAttempts--;

                    Toast.makeText(Mobile_Grocery.this, "Email and Password is incorrect",
                            Toast.LENGTH_SHORT).show();

                    if(loginAttempts == 2) {
                    new Handler().postDelayed(new Runnable() {
                        @Override
                        public void run() {

                            loginAttempts = 3;
                        }
                    }, WAIT_TIME);
                   }


                }

            }
        }
        );

嘿,先生!我需要输入代码的哪一部分?如果我放置了一个新的and处理程序,它们之间有红线?您不需要处理程序暂停线程。它会在web请求中自动暂停,直到响应。请阅读我的示例中的注释,并将其替换为您的代码。您好,先生!我做了这个代码,但是。。。如果尝试次数减少1,则会出现“您的尝试次数达到0,请等待3分钟以再次登录”。我想当尝试达到0时,它就会出现。当登录尝试为1时,我已经完成了。你可以很容易地将这个逻辑扩展到任何你想尝试的次数。先生,你愿意和我聊天吗?所以我能理解你的意思。当然把聊天链接发给我。等等,先生!我是这里的新选民。搜索我们如何聊天。
private static final int WAIT_TIME = 3 * 60 * 1000;

private int loginAttempts = 3;
    login_btn.setOnClickListener(
                new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(loginAttempts == 0) {

                    Toast.makeText(Mobile_Grocery.this, "Your attempt reach 0, please wait 3 minutes to log again", Toast.LENGTH_SHORT).show();
                    return;
                }

                if (email.getText().toString().equals("admin") &&
                        password.getText().toString().equals("pass")) {
                    Toast.makeText(Mobile_Grocery.this, "Email and Password is correct",
                            Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent("com.example.admin.mobile_grocery.Method");
                    startActivity(intent);

                } else {

                    loginAttempts--;

                    Toast.makeText(Mobile_Grocery.this, "Email and Password is incorrect",
                            Toast.LENGTH_SHORT).show();

                    if(loginAttempts == 2) {
                    new Handler().postDelayed(new Runnable() {
                        @Override
                        public void run() {

                            loginAttempts = 3;
                        }
                    }, WAIT_TIME);
                   }


                }

            }
        }
        );