Форма входа в 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");
}