Аутентификация Android

#android

#Android

Вопрос:

Я хочу создать статический тест в своей аутентификации, но когда я нажимаю на кнопку «Valider», ничего не происходит, вместо этого, когда я удаляю условие «if» и нажимаю на кнопку «valider», запускается следующее действие. Я думаю, что есть проблема, когда я ставлю условие для тестирования, но я не знаю, в чем оно. Можете ли вы помочь? Спасибо

 public class TabAdmin extends Activity implements View.OnClickListener{
private EditText username;
private EditText password;

public String user_name;
public String pass_word;
private Button valider;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);


setContentView(R.layout.authen);

username = (EditText) findViewById(R.id.login);
password = (EditText) findViewById(R.id.pwd);

valider = (Button) findViewById(R.id.valider);
 valider.setOnClickListener((OnClickListener) this);
 }           
 public void onClick(View v) {              
     if (v == valider) {

    user_name = username.getText().toString();
     pass_word = password.getText().toString();
  if((user_name=="admin")amp;amp;(pass_word=="admin"))

     { 


        Intent goToNextActivity = new Intent(getApplicationContext(), MenuAdmin.class);
     startActivity(goToNextActivity);
     }           

 }
  

}

Ответ №1:

попробуйте использовать if (v.equals(valider)) вместо if (v == valider)

Ответ №2:

Во-первых, способ сравнения строк не подходит для Java. Попробуйте

 if ("admin".equals(user_name) amp;amp; "admin".equals(pass_word)) {
  

Однако это не самый лучший способ создания паролей, поскольку любой может прочитать строки из APK.

Ответ №3:

вместо

 if((user_name=="admin")amp;amp;(pass_word=="admin"))
  

использовать

 if((user_name.equals("admin"))amp;amp;(pass_word.equals("admin")))
  

Я надеюсь, что это может помочь вам