Java 使用mysql的Android登录表单

Java 使用mysql的Android登录表单,java,android,mysql,login,android-ksoap2,Java,Android,Mysql,Login,Android Ksoap2,我已经开发了一个登录表单 这是我的Web服务代码: public class Login { public String authentication(String userName,String password){ String retrievedUserName = ""; String retrievedPassword = ""; String status = ""; try{ Class.forName("com.mysq

我已经开发了一个登录表单

这是我的Web服务代码:

public class Login {
    public String authentication(String userName,String password){

    String retrievedUserName = "";
    String retrievedPassword = "";
    String status = "";
    try{

        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/androidlogin","root","chathura");
        PreparedStatement statement =  con.prepareStatement("SELECT * FROM user WHERE username = '"+userName+"'");
        ResultSet result = statement.executeQuery();

        while(result.next()){
            retrievedUserName = result.getString("username");
            retrievedPassword = result.getString("password");
        }

        if(retrievedUserName.equals(userName)&&retrievedPassword.equals(password)){
            status = "Success!";
        }

        else{
            status = "Login fail!!!";
        }

    }
    catch(Exception e){
        e.printStackTrace();
    }
    return status;
    }

}
这是我的android代码:

try{
    androidHttpTransport.call(SOAP_ACTION, envelope);
    SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
    String status = response.toString();
    TextView result = (TextView) findViewById(R.id.tv_status);
    result.setText(response.toString());

    if(status.equals("Success!")){

        //   ADD  to save  and  read next time
        String strUserName = userName.getText().toString().trim();
        String strPassword = userPassword.getText().toString().trim();

        if (null == strUserName || strUserName.length() == 0){

            //  showToast("Enter Your Name");
            userName.setError( "username is required!" );
            isUserValidated = false;
        }
        if (null == strPassword || strPassword.length() == 0){

            //  showToast("Enter Your Password");
            isPasswordValidated = false;
            userPassword.setError( "password is required!" );
        } 
        if(isUserValidated && isPasswordValidated){

            Intent intent = new Intent(AndroidLoginExampleActivity.this,TabBarSimple.class);
            intent.putExtra("login",userName.getText().toString());
            startActivity(intent);           
        }
    }

    else{
        Intent i = new Intent(getApplicationContext(), AndroidLoginExampleActivity.class);
        startActivity(i);
    }
}
catch(Exception e){ 
    //
}

}
}
我当前的o/p是:

  • 如果输入正确的登录详细信息,它将显示“成功”消息,然后进入下一个活动

  • 如果我输入了错误的登录详细信息,它将显示“登录失败”消息

希望需要o/p的是:

  • 如果我输入了正确的登录详细信息,它应该直接转到下一个活动,并且不应该显示任何成功消息

  • 如果我输入了错误的登录详细信息,则应显示“登录失败”消息


请帮我做这个。如何开发此功能?

正如您所提到的,您不想在应用程序中使用toast或alert对话框来显示登录失败的消息,因此您可以使用Textview来显示消息,为此,您应该在Password EditText字段中同时提到Textview,任何名称都可以说,PasswordMessage

现在,尝试使用以下代码

TextView PasswordMessage = (TextView)findViewById(R.id.PasswordMessage);
if(isUserValidated && isPasswordValidated)
{
    Intent intent = new Intent(AndroidLoginExampleActivity.this,TabBarSimple.class);
    intent.putExtra("login",userName.getText().toString());
    startActivity(intent);
}
else
{
    PasswordMessage.setText("Login Failed, Please enter valid Username or Password");
}

你所做的一切。!您应该发布您尝试过的代码,然后询问您遇到的问题。删除显示成功消息的代码。就这样。登录成功后,它将直接切换到下一个活动。您的AndroidLoginExample活动和tabBarActivity是什么?这是我的AndroidLoginExample活动:这是我的tabBarActivity:因此,您希望在登录成功时打开tabBarActivity。留在安卓洛金酒店,当登录失败时。删除Intent i=newintent(getApplicationContext(),AndroidLoginExampleActivity.class);代码来自else部分,只显示一些AlertDialog或Toast显示失败消息。