Java 持续时间为的登录尝试
我尝试了登录,但问题是我想有登录的持续时间。我的意思是,如果尝试失败,我想放一个额外的信息说“你的尝试达到0,请等待3分钟再次登录”或类似的东西 登录表单XMLJava 持续时间为的登录尝试,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
我该怎么做呢?我建议如下
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);
}
}
}
}
);