You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xiaomibianqian/src-annotation/net/micode/notes/ui/ChangingPassword.java

90 lines
5.0 KiB

package net.micode.notes.ui;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import net.micode.notes.R;
public class ChangingPassword extends Activity {
EditText OldPassword; // 用于输入旧密码的EditText
EditText NewPassword; // 用于输入新密码的EditText
EditText AckPassword; // 用于确认新密码的EditText
Button Acknowledged; // 提交按钮
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); //设置监听
setContentView(R.layout.activity_change_password); // 设置界面布局
// 设置软键盘弹出时自动调整布局,并使输入框可见
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | //自动调整布局
WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); //使输入框可见
// 初始化各个控件对象
OldPassword = (EditText) findViewById(R.id.old_password); //初始化旧的密码
NewPassword = (EditText) findViewById(R.id.new_password); //初始化新的密码
AckPassword = (EditText) findViewById(R.id.ack_password); //确认密码
Acknowledged = (Button) findViewById(R.id.Acknowledged); //确认
// 设置按钮的点击监听器
Acknowledged.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 获取输入框中的旧密码、新密码和确认密码
String old_password = OldPassword.getText().toString();//获取旧的密码
String new_password = NewPassword.getText().toString();//获取新的密码
String ack_password = AckPassword.getText().toString();//确认新的密码
// 获取 SharedPreferences 对象以读取保存的用户密码
SharedPreferences pref = getSharedPreferences("user management", MODE_PRIVATE); //获取SharedPreferences
String login_password = pref.getString("password", ""); //读取保存的用户密码
// 检查输入的密码是否为空
if (old_password.equals("") == true || new_password.equals("") == true || ack_password.equals("") == true) {
// 如果密码为空,显示提示信息
Toast.makeText(ChangingPassword.this, "密码不能为空", Toast.LENGTH_SHORT).show();
}
// 检查新密码和确认密码是否匹配
else if (new_password.equals(ack_password) == false) {
// 如果新密码和确认密码不匹配,显示提示信息,并清空确认密码输入框
Toast.makeText(ChangingPassword.this, "新建密码与重复密码不匹配,请重新输入密码", Toast.LENGTH_SHORT).show(); //显示提示信息
AckPassword.setText(""); //清空密码输入框
}
// 检查旧密码是否正确
else if (old_password.equals(login_password) == false) {
// 如果旧密码不正确,显示提示信息,并清空旧密码输入框
Toast.makeText(ChangingPassword.this, "原有密码错误,请重新输入密码", Toast.LENGTH_SHORT).show(); //显示提示信息
OldPassword.setText("");//清空旧密码输入框
}
// 如果新密码、确认密码和旧密码都正确,则更新用户密码,并显示成功信息
else if (new_password.equals(ack_password) == true && old_password.equals(login_password) == true) {
// 使用 SharedPreferences.Editor 对象保存新密码
SharedPreferences.Editor editor = getSharedPreferences("user management", MODE_PRIVATE).edit();
editor.putString("password", new_password); //文本框显示密码字符
editor.apply(); //应用更新用户密码
// 显示成功信息
Toast.makeText(ChangingPassword.this, "修改密码成功", Toast.LENGTH_SHORT).show();
// 跳转到笔记列表活动
Intent intent = new Intent(ChangingPassword.this, NotesListActivity.class);//跳转到changingpassword对象
startActivity(intent); //开始该activity
finish(); //结束该对象活动
}
}
});
}
// 捕捉返回按钮点击事件
@Override
public void onBackPressed() {
// 返回到笔记列表活动
Intent intent=new Intent(ChangingPassword.this,NotesListActivity.class); //跳转到changingpassword对象
startActivity(intent); //开始该activity
finish(); //结束该对象活动
}}