如何在android中使用控制台
请告诉我如何将此代码应用于我的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 =
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,我会处理这项工作,希望它能解决所有问题。我会让您知道。