Форма входа в Android с использованием mysql

Я разработал форму входа.

Это мой код веб-сервиса:

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:

  • Если я введу правильные данные для входа в систему, отобразится сообщение об успешном завершении, после чего перейдет к следующему действию.

  • Если я введу неправильные данные для входа, появится сообщение "сбой при входе".

Желание нужно о / п это:

  • Если я введу правильные данные для входа, он должен перейти непосредственно к следующему действию и не должен отображать сообщения об успехе.

  • Если я введу неверные данные для входа, должно появиться сообщение "сбой входа".

Пожалуйста, помогите мне с этим. Как я могу развить это?

1 ответ

Как вы уже упоминали, вы не хотите использовать всплывающее окно или диалоговое окно оповещения в своем приложении для отображения сообщения об ошибке входа в систему, поэтому вы можете использовать Textview для отображения сообщения, для этого вам следует упомянуть textView вместе с полем Password EditText, с любым имя сказать, 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");
}
Другие вопросы по тегам