From 36148b43e1ddebe20fc9b83ebbc7ef7f5668fb82 Mon Sep 17 00:00:00 2001 From: Ryuki <2124555323@qq.com> Date: Thu, 4 Jan 2024 10:12:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/net/micode/notes/ui/DeletingPassword.java | 42 +++++++++++++------ src/net/micode/notes/ui/LoginActivity.java | 20 ++++++++- src/net/micode/notes/ui/NoteEditActivity.java | 28 ++++++------- src/net/micode/notes/ui/SettingPassword.java | 25 +++++++++-- 4 files changed, 82 insertions(+), 33 deletions(-) diff --git a/src/net/micode/notes/ui/DeletingPassword.java b/src/net/micode/notes/ui/DeletingPassword.java index 82cbb76..4d8e9c2 100644 --- a/src/net/micode/notes/ui/DeletingPassword.java +++ b/src/net/micode/notes/ui/DeletingPassword.java @@ -12,40 +12,56 @@ import android.widget.Toast; import net.micode.notes.R; +//继承自 Activity 类,提供用户界面删除已设置的密码 public class DeletingPassword extends Activity { + //定义 EditText 成员变量获取用户输入的密码 EditText Dt_password; + //定义 Button 成员变量,用户点击后确认删除密码 Button Acknowledged; + // Activity 的 onCreate()方法 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + //设置当前 Activity 使用的布局文件 setContentView(R.layout.activity_delete_password); + //设置软键盘行为 getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); + //关联至布局文件中的 EditText 组件(用于输入密码) Dt_password=(EditText) findViewById(R.id.thepassword); + //关联至布局文件中的 Button 组件(确认删除按钮) Acknowledged=(Button)findViewById(R.id.Dt_Acknowledged); + //设置确认删除按钮的点击监听器 Acknowledged.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + //获取用户输入的密码 String text02 = Dt_password.getText().toString(); - if(text02.equals("")==true) - Toast.makeText(DeletingPassword.this, "密码不能为空", - Toast.LENGTH_SHORT).show(); + //检查密码是否为空 + if(text02.equals("")==true) { + Toast.makeText(DeletingPassword.this, "密码不能为空", Toast.LENGTH_SHORT).show(); + return; //为空则直接返回不进行后续操作 + } + //获取 SharedPreferences 中保存的密码 SharedPreferences pref=getSharedPreferences("user management",MODE_PRIVATE); - String password = pref.getString("password",""); + String password = pref.getString("password",""); + //如果存储密码不为空,且与用户输入密码匹配 if(password.equals("")==false&&password.equals(text02)==true){ + //获取 SharedPreferences 编辑器以删除密码 SharedPreferences.Editor editor=getSharedPreferences("user management", MODE_PRIVATE).edit(); - editor.putBoolean("user",false);//false 表示已经设置登录密码 - editor.putString("password",""); - editor.apply(); - Toast.makeText(DeletingPassword.this, "已经删除登录密码", - Toast.LENGTH_SHORT).show(); - Intent intent=new - Intent(DeletingPassword.this,NotesListActivity.class); + editor.putBoolean("user",false);//false 表示登录密码已被设置 + editor.putString("password",""); //清除密码 + editor.apply(); //应用更改 + //显示已删除登录密码的提示信息 + Toast.makeText(DeletingPassword.this, "已经删除登录密码", Toast.LENGTH_SHORT).show(); + //跳回便签列表界面 + Intent intent=new Intent(DeletingPassword.this,NotesListActivity.class); startActivity(intent); - finish(); + finish(); //结束当前 Activity } else{ + //如果输入的密码不正确,显示错误信息 Toast.makeText(DeletingPassword.this, "密码错误", Toast.LENGTH_SHORT).show(); Dt_password.setText("");//把密码框内输入过的错误密码清空 @@ -53,6 +69,8 @@ public class DeletingPassword extends Activity { } }); } + + //重写 onBackPressed 方法,用于用户按下返回键的行为 @Override public void onBackPressed() { Intent intent=new Intent(DeletingPassword.this,NotesListActivity.class); diff --git a/src/net/micode/notes/ui/LoginActivity.java b/src/net/micode/notes/ui/LoginActivity.java index d87b98c..c41a970 100644 --- a/src/net/micode/notes/ui/LoginActivity.java +++ b/src/net/micode/notes/ui/LoginActivity.java @@ -12,36 +12,52 @@ import android.app.Activity; import net.micode.notes.R; +//LoginActivity 类继承自Activity 类,用于管理登录页面的行为 public class LoginActivity extends Activity{ + //定义EditText 成员变量用于获取用户输入的密码 EditText lgn_password; + //定义Button成员变量用于用户点击登录 Button lgn_login; + //Activity 的 onCreate()方法,在创建loginActivity 时被调用 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + //获取名为 "user management" 的SharedPreferences 对象,用于读取或存储轻量级的键值对数据 SharedPreferences pref = getSharedPreferences("user management", MODE_PRIVATE); + //从 SharedPreferences 对象中获取名为 "user" 的布尔值,检查用户是否设置了密码 boolean User_boolean = pref.getBoolean("user", false); //检查用户是否设置了密码 if (!User_boolean) { //如果用户没有设置密码,则直接跳转到便签主界面 Intent intent = new Intent(LoginActivity.this, NotesListActivity.class); startActivity(intent); - finish(); + finish(); //结束当前 Activity } + //设置当前 Activity 使用的布局文件 setContentView(R.layout.activity_login); + //设置软键盘行为,这里设置的是在输入框获取焦点时显示软键盘并调整布局大小以适应键盘 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); + //关联变量 lgn_password 至布局文件中的 EditText 组件 lgn_password = (EditText)findViewById(R.id.lgn_password); + //关联变量lgn_login 至布局文件中的 Button 组件 lgn_login = (Button) findViewById(R.id.login); + //设置登录按钮的点击监听器 lgn_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + //再次或者SharedPreferences 对象 SharedPreferences pref = getSharedPreferences("user management", MODE_PRIVATE); + //获取 SharedPreferences 中存储的密码字符串,若不存在则返回空字符串 String password = pref.getString("password", ""); + //比较存储的密码和用户输入的密码是否相同 if (password.equals(" ") == false && password.equals(lgn_password.getText().toString()) == true) { + //如果密码匹配,跳转至便签列表界面 Intent intent = new Intent(LoginActivity.this, NotesListActivity.class); startActivity(intent); - finish(); + finish(); //结束当前 Activity } else { + //如果密码不匹配,显示 Toast 提醒用户密码错误,并清空密码输入框 Toast.makeText(LoginActivity.this, "密码错误", Toast.LENGTH_SHORT).show(); lgn_password.setText(""); //清空密码框内的输入 } diff --git a/src/net/micode/notes/ui/NoteEditActivity.java b/src/net/micode/notes/ui/NoteEditActivity.java index 43a7060..696262f 100644 --- a/src/net/micode/notes/ui/NoteEditActivity.java +++ b/src/net/micode/notes/ui/NoteEditActivity.java @@ -498,12 +498,10 @@ public class NoteEditActivity extends Activity implements OnClickListener, //如果点击的是设置背景颜色按钮,则显示颜色选择器 if (id == R.id.btn_set_bg_color) { mNoteBgColorSelector.setVisibility(View.VISIBLE); - findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( - -View.VISIBLE); + findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(View.VISIBLE); //更改背景颜色或字体大小的逻辑 } else if (sBgSelectorBtnsMap.containsKey(id)) { - findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( - View.GONE); + findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(View.GONE); mWorkingNote.setBgColorId(sBgSelectorBtnsMap.get(id)); mNoteBgColorSelector.setVisibility(View.GONE); } else if (sFontSizeBtnsMap.containsKey(id)) { @@ -1013,17 +1011,17 @@ public class NoteEditActivity extends Activity implements OnClickListener, } - final ImageButton add_img_btn = (ImageButton) findViewById(R.id.add_img_btn); - add_img_btn.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - log.d(TAG, "onClick: click add image button"); - Intent loadImage = new Intent(Intent.ACTION_GET_CONTENT); - loadImage.addCategory(Intent.CATEGORY_OPENABLE); - loadImage.setType("image/*"); - startActivityForResult(loadImage, PHOTO_REQUESt); - } - }); +// final ImageButton add_img_btn = (ImageButton) findViewById(R.id.add_img_btn); +// add_img_btn.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// log.d(TAG, "onClick: click add image button"); +// Intent loadImage = new Intent(Intent.ACTION_GET_CONTENT); +// loadImage.addCategory(Intent.CATEGORY_OPENABLE); +// loadImage.setType("image/*"); +// startActivityForResult(loadImage, PHOTO_REQUESt); +// } +// }); } diff --git a/src/net/micode/notes/ui/SettingPassword.java b/src/net/micode/notes/ui/SettingPassword.java index abc2fe5..124c150 100644 --- a/src/net/micode/notes/ui/SettingPassword.java +++ b/src/net/micode/notes/ui/SettingPassword.java @@ -14,38 +14,52 @@ import android.widget.Toast; import net.micode.notes.R; - +//继承自 Activity 类,用于管理设置密码的页面行为 public class SettingPassword extends Activity { + //定义两个 EditText 成员变量用于获取用户输入的密码以及确认密码 EditText password; EditText password_ack; + //定义 Button 成员变量用于用户完成密码输入时点击确认 Button acknowledge; + + //Activity 的 onCreate()方法,创建 SettingPassword时被调用 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + //设置当前 Activity 使用的布局文件 setContentView(R.layout.activity_set_loginpassword); + //设置软键盘的行为 getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); + //关联至 EditText 组件(用于输入密码) password = (EditText) findViewById(R.id.password); + //关联至 EditText 组件(用于确认密码) password_ack = (EditText) findViewById(R.id.password_ack); + //关联 acknowledge 至Button 组件(确认按钮) acknowledge = (Button)findViewById(R.id.acknowledge); + //设置确认按钮的监听器 acknowledge.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + //获取用户输入的密码和确认密码 String text02 = password.getText().toString(); String text03 = password_ack.getText().toString(); + //检查密码是否为空 if(text02.equals("")==true) { Toast.makeText(SettingPassword.this, "密码不能为空", Toast.LENGTH_SHORT).show(); } + //检查输入的密码和确认密码是否相同 else if (text02.equals(text03) == false) { Toast.makeText(SettingPassword.this, "密码错误,请重新输入密码 ", Toast.LENGTH_SHORT).show(); - password_ack.setText(""); + password_ack.setText(""); //不同则清空确认密码框 } + //若输入的密码和确认密码相同 else if (text02.equals(text03) == true){ SharedPreferences.Editor editor=getSharedPreferences("user management", MODE_PRIVATE).edit(); editor.putBoolean("user",true); //true 表示已经设置登录密码 - editor.putString("password",text02); - editor.apply(); + editor.putString("password",text02); //保存密码 + editor.apply(); //应用更改 Log.d("RegisterLoginPassword","password is "+text02); Toast.makeText(SettingPassword.this, "密码设置成功", Toast.LENGTH_SHORT).show(); @@ -57,8 +71,11 @@ public class SettingPassword extends Activity { } }); } + + //重写 onBackPressed 方法,用于在按下返回键时的操作 @Override public void onBackPressed() { + //创建跳转到便签列表界面的 Intent Intent intent=new Intent(SettingPassword.this,NotesListActivity.class); startActivity(intent); finish();