Как использовать консоль в Android - PullRequest
0 голосов
/ 02 декабря 2011

Пожалуйста, как я могу применить этот код к моему приложению для Android. Я делаю приложение, которое дает доступ пользователю, введя правильный пароль. Кажется, я получаю сообщение об ошибке с Консоль

public static void main (String args[]) throws IOException {

      Console c=System.console();

        String login = c.readLine("Enter your login: ");
        char [] oldPassword = c.readPassword("Enter your old password: ");

        if (verify(login, oldPassword)) {
            boolean noMatch;
            do {
                char [] newPassword1 =
                    c.readPassword("Enter your new password: ");
                char [] newPassword2 =
                    c.readPassword("Enter new password again: ");
                noMatch = ! Arrays.equals(newPassword1, newPassword2);
                if (noMatch) {
                    c.format("Passwords don't match. Try again.%n");
                } else {
                    change(login, newPassword1);
                    c.format("Password for %s changed.%n", login);

                }
                Arrays.fill(newPassword1, ' ');
                Arrays.fill(newPassword2, ' ');
            } while (noMatch);
        }

        Arrays.fill(oldPassword, ' ');

    }

    //Dummy change method.
    static boolean verify(String login, char[] password) {
        // this method always returns true in this example.
        // modify this method to verify password according to your rules.
        return true;
    }

    //Dummy change method.
    static void change(String login, char[] password) {
        // modify this method to change password according to your rules.
    }
}

1 Ответ

1 голос
/ 02 декабря 2011

Да, вы можете повторно использовать свои verify и change apis для Android, но вы можете отказаться от любого метода main.

На Android вы будете создавать Activity, имеятри EditText (для скрытия пользовательского текста используйте android:inputType="textPassword"), по одному для каждого.

  • Старый пароль
  • Новый пароль
  • Новый пароль снова

Тогда у вас будет одна кнопка, которая будет вызываться Change Password.К этой кнопке Change Password вы можете добавить onClickListenr.Когда пользователь нажимает эту кнопку Change Password, вы извлекаете текстовые значения из EditText, а затем вводите свои verify и change apis для выполнения фактической работы.

Вы можете дополнительно выбрать Cancel кнопка тоже.

Ниже показано, как будет выглядеть экран:

enter image description here

Фрагмент обработки кнопки Change:

// Declared in your Activity class.
EditText editTextOldPass;
EditText editTextNewPass;
EditText editTextNewPassAgain;

String login = "";


public void onCreate(Bundle savedInstanceState) {

    editTextOldPass = (EditText) findViewById(R.id.editTextOldPass);
    editTextNewPass = (EditText) findViewById(R.id.editTextNewPass);
    editTextNewPassAgain = (EditText) findViewById(R.id.editTextNewPassAgain);
    Button buttonChange = (Button) findViewById(R.id.buttonChange);

    buttonChange.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (editTextNewPass.getText().equals(editTextNewPassAgain)) {
                if (verify(login, editTextOldPass.getText().toString().toCharArray()))
                    change(login, editTextNewPass.getText().toString().toCharArray());
            } else {
                Log.i("PasswordActivity", "Passwords don't match. Try again.");
            }
        }

    });
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...