您需要涵盖了很多地面UI,安全等,所以我会简要介绍一下你需要完成的步骤。
您需要为UI的活动或dialogs,得到一个初始密码,并检查密码都应该有使用设置密码属性(隐藏人物)
按钮(一个或多个)
的TextView允许用户取消或选择确定与点击听众连接
要存储/获取密码,然后使用类似于这个而不是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;
}
}
所以存储密码,当您点击您的OK按钮
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类以执行UI位。
是的!我找到了我需要的! – user1475122