Вы должны покрыть много места здесь UI, безопасность и т. д., поэтому я дам вам краткий обзор шагов, которые вам нужно выполнить.
Вы должны деятельности или dialogs для UI-х, получить начальный пароль и проверки пароля оба должны иметь
TextView, который использует атрибут пароля набор (скрытие символов)
Button (s), что позволяет чтобы отменить или выбрать ok при подключенном клике.
Чтобы сохранить/получить пароль, используйте вместо этого что-то похожее на это вместо sdcard и txt-файла Getting a password from shared preferences, вы также можете использовать редактор общих настроек, чтобы сохранить его. Это добавляет немного безопасности, но не так много
В общем то, что вы должны хранить не сам пароль, но вы действительно должны хранить маркер для дополнительной безопасности, здесь один класс, который может сделать это для вас
import java.security.MessageDigest;
public class PasswordToken {
static public String makeDigest(String password)
{
String hexStr = "";
try {
MessageDigest md = MessageDigest.getInstance("SHA1");
md.reset();
byte[] buffer = password.getBytes();
md.update(buffer);
byte[] digest = md.digest();
for (int i = 0; i < digest.length; i++) {
hexStr += Integer.toString((digest[i] & 0xff) + 0x100, 16).substring(1);
}
} catch(Exception e) // If the algo is not working for some reason on this device
// we have to use the strings hash code, which
// could allow duplicates but at least allows tokens
{
hexStr = Integer.toHexString(password.hashCode());
}
return hexStr;
}
static public boolean validate(String password, String token)
{
String digestToken = "";
String simpleToken = "";
digestToken = makeDigest(password);
if (0 == digestToken.compareTo(token))
return true;
if (0 == simpleToken.compareTo(token))
return true;
return false;
}
}
Так хранить пароль при нажатии на кнопку ОК вашей
PasswordTextView.getText();
String token = PasswordToken.makeDigest(password);
//... store TOKEN using the shared preferences editor
для проверки пароля, когда ваш пользователь хочет войти в
PasswordTextView.GetText();
String token = PasswordToken.makeDigest(password);
//... GET token using the shared preferences
if (PasswordToken.validate(token))
Start your new activity
else
tell your user to try again
Вы можете использовать startActivity or startActivityForResult, чтобы начать другое действие и посмотреть, как переопределить класс Dialog для выполнения бит пользовательского интерфейса.
YEAH! Я нашел то, что мне нужно! – user1475122