如何在android中使用控制台

如何在android中使用控制台,android,console,Android,Console,请告诉我如何将此代码应用于我的android应用程序。我正在制作一个应用程序,通过输入正确的密码来访问用户。 我好像在控制台上出错了 public static void main (String args[]) throws IOException { Console c=System.console(); String login = c.readLine("Enter your login: "); char [] oldPassword =

请告诉我如何将此代码应用于我的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.
    }
}

是的,您可以重复使用android的
验证
更改
API,但是您已经放弃了
方法中的任何内容

在Android上,您将创建一个包含三个
EditText
活动(对于隐藏用户文本,请使用
Android:inputType=“textPassword”
),每个活动一个

  • 旧密码
  • 新密码
  • 再次输入新密码
然后您将有一个按钮调用它
更改密码
。在此
更改密码
按钮中,您可以添加
onClickListenr
。当用户按下此
更改密码
按钮时,您将从
编辑文本
获取文本值,然后使用
验证
更改
API执行实际工作

您也可以选择一个
取消
按钮

下面是屏幕的外观:

处理
更改
按钮的片段:

// 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.");
            }
        }

    });
 }

但是为什么要从控制台读取?Android是基于GUI的平台。其次,在Android中没有
main
这样的东西。我知道这是一个完整的java代码。我想知道是否有任何方法可以修改此代码,以便将其应用于我的Android应用程序。或者,如果您知道一种更好的方法,我可以让我的应用程序创建一个新的pasword,当用户想要更改应用程序的密码时,它将被设置为旧密码。试着为一部adroid手机输入屏幕锁定代码(它没有默认代码,但当你第一次输入代码时,下一次它会使该代码成为旧代码)非常感谢。我已经完成了这项工作,但在让代码正常工作方面遇到了困难。如果您能粘贴编辑后的代码,我将不胜感激。谢谢Kasper,我会处理这项工作,希望它能解决所有问题。我会让您知道。