手机防盗界面初始化
在进入主界面之前,用户会对其功能进行一个初始化操作。即输入初始密码,此举报了该功能只有用户可以使用。
密码用MD5加密后存入SharedPreferences中。
界面截图:
弹框设置
private void performSjfd() {
String pwd = PreferenceUtils.getString(this, Constants.SJFD_PASSWORD);
if (TextUtils.isEmpty(pwd)) {
// 如果是第一次进入,弹出设置密码的对话框
Logger.d(TAG, "弹出设置密码的对话框");
showInitPwdDialog();
} else {
// 否则,输入密码的对话框
Logger.d(TAG, "弹出输入密码的对话框");
showEnterPwdDialog();
}
}
设置密码的对话框
private void showInitPwdDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
View view = View.inflate(this, R.layout.dialog_pwd_init, null);
final EditText etPwd = (EditText) view.findViewById(R.id.dialog_tv_pwd);
final EditText etConfirm = (EditText) view
.findViewById(R.id.dialog_tv_confirm);
Button btnOk = (Button) view.findViewById(R.id.dialog_btn_ok);
Button btnCancel = (Button) view.findViewById(R.id.dialog_btn_cancel);
builder.setView(view);
final AlertDialog dialog = builder.create();
// 设置点击事件
btnOk.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 非空的校验
String pwd = etPwd.getText().toString().trim();
if (TextUtils.isEmpty(pwd)) {
Toast.makeText(HomeActivity.this, "密码不能为空",
Toast.LENGTH_SHORT).show();
etPwd.requestFocus();// 获取焦点
return;
}
String confirm = etConfirm.getText().toString().trim();
if (TextUtils.isEmpty(confirm)) {
Toast.makeText(HomeActivity.this, "确认密码不能为空",
Toast.LENGTH_SHORT).show();
etConfirm.requestFocus();// 获取焦点
return;
}
// 判断两次是否相同
if (!pwd.equals(confirm)) {
Toast.makeText(HomeActivity.this, "两次密码不一致",
Toast.LENGTH_SHORT).show();
return;
}
// 保存密码
PreferenceUtils.putString(HomeActivity.this,
Constants.SJFD_PASSWORD, pwd);
enterSjfd();
// 关闭dialog
dialog.dismiss();
}
});
btnCancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 关闭dialog
dialog.dismiss();
}
});
dialog.show();
}
输入密码的对话框
private void showEnterPwdDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
View view = View.inflate(this, R.layout.dialog_pwd_enter, null);
final EditText etPwd = (EditText) view.findViewById(R.id.dialog_tv_pwd);
Button btnOk = (Button) view.findViewById(R.id.dialog_btn_ok);
Button btnCancel = (Button) view.findViewById(R.id.dialog_btn_cancel);
builder.setView(view);
final AlertDialog dialog = builder.create();
// 设置点击事件
btnOk.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 非空判断
String pwd = etPwd.getText().toString().trim();
if (TextUtils.isEmpty(pwd)) {
Toast.makeText(HomeActivity.this, "密码不能为空",
Toast.LENGTH_SHORT).show();
etPwd.requestFocus();// 获取焦点
return;
}
// 校验密码是否正确
String local = PreferenceUtils.getString(HomeActivity.this,
Constants.SJFD_PASSWORD);
if (local.equals(pwd)) {
// 正确--》 进入手机防盗界面
enterSjfd();
dialog.dismiss();
} else {
Toast.makeText(HomeActivity.this, "密码不正确",
Toast.LENGTH_SHORT).show();
}
}
});
btnCancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}