xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/k"
tools:context=".MainActivity">
//《-----------------欢迎标题---------------------》
package com.example.qq; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.ActivityInfo; import android.graphics.Color; import android.os.Bundle; //import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; //import cn.edu.gdmec.android.androidstudiodemo.utils.MD5Utils; import android.os.Bundle; public class RegisterActivity extends AppCompatActivity { private Button btn_register;//注册按钮 //昵称,密码,手机号的控件 private EditText et_user_name,et_psw,et_user_telep; //用户名,密码,再次输入的密码的控件的获取值 private String userName,psw,telep,xieyi; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); //设置页面布局 ,注册界面 setContentView(R.layout.activity_register); //设置此界面为竖屏 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); init(); } private void init() { //从activity_register.xml 页面中获取对应的UI控件 btn_register=findViewById(R.id.register); et_user_name=findViewById(R.id.name); et_psw=findViewById(R.id.password); et_user_telep=findViewById(R.id.tele); //注册按钮 btn_register.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //获取输入在相应控件中的字符串 getEditString(); //判断输入框内容 if (TextUtils.isEmpty(userName)) { Toast.makeText(RegisterActivity.this, "请输入用户名", Toast.LENGTH_SHORT).show(); return; } else if (TextUtils.isEmpty(psw)) { Toast.makeText(RegisterActivity.this, "请输入密码", Toast.LENGTH_SHORT).show(); return; } else if (TextUtils.isEmpty(telep)) { Toast.makeText(RegisterActivity.this, "请输入手机号", Toast.LENGTH_SHORT).show(); return; } /** *从SharedPreferences中读取输入的用户名,判断SharedPreferences中是否有此用户名 */ else if (isExistUserName(userName)) { Toast.makeText(RegisterActivity.this, "此账户名已经存在", Toast.LENGTH_SHORT).show(); return; } else { Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_SHORT).show(); //把账号、密码和账号标识保存到sp里面 /** * 保存账号和密码到SharedPreferences中 */ saveRegisterInfo(userName, psw); //注册成功后把账号传递到LoginActivity.java中 // 返回值到loginActivity显示 Intent data = new Intent(); data.putExtra("userName", userName); setResult(RESULT_OK, data); //RESULT_OK为Activity系统常量,状态码为-1, // 表示此页面下的内容操作成功将data返回到上一页面,如果是用back返回过去的则不存在用setResult传递data RegisterActivity.this.finish(); } } }); } /** * 获取控件中的字符串 */ private void getEditString() { userName = et_user_name.getText().toString().trim(); psw = et_psw.getText().toString().trim(); telep = et_user_telep.getText().toString().trim(); } /** * 从SharedPreferences中读取输入的用户名,判断SharedPreferences中是否有此用户名 */ private boolean isExistUserName(String userName) { boolean has_userName = false; //mode_private SharedPreferences sp = getSharedPreferences( ); // "loginInfo", MODE_PRIVATE SharedPreferences sp = getSharedPreferences("loginInfo", MODE_PRIVATE); //获取密码 String spPsw = sp.getString(userName, "");//传入用户名获取密码 //如果密码不为空则确实保存过这个用户名 if (!TextUtils.isEmpty(spPsw)) { has_userName = true; } return has_userName; } /** * 保存账号和密码到SharedPreferences中SharedPreferences */ private void saveRegisterInfo(String userName, String psw) { //loginInfo表示文件名, mode_private SharedPreferences sp = getSharedPreferences( ); SharedPreferences sp = getSharedPreferences("loginInfo", MODE_PRIVATE); //获取编辑器, SharedPreferences.Editor editor -> sp.edit(); SharedPreferences.Editor editor = sp.edit(); //提交修改 editor.commit(); editor.commit(); } }
//《-----------------头像设计---------------------》 //《-----------------账号设计---------------------》 //文本框 //《-----------------密码设计---------------------》//编辑文本 //文本框 //《-----------------登录按钮设计---------------------》 //《-----------------注册忘记密码设计---------------------》//编辑文本
package com.example.qq; import android.content.Intent; import androidx.appcompat.app.AppCompatActivity; import android.content.SharedPreferences; import android.content.pm.ActivityInfo; import android.os.Bundle; //import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; //import cn.edu.gdmec.android.androidstudiodemo.utils.MD5Utils; public class MainActivity extends AppCompatActivity { //显示的注册,找回密码 private TextView tv_register,tv_find_psw; //登录按钮 private Button btn_login; //获取的用户名,密码 private String userName,psw; //账号,密码的编辑框 private EditText et_user_name,et_psw; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //设置此界面为竖屏 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); init(); } //获取界面控件 private void init() { //从activity_main.xml中获取的 tv_register = findViewById(R.id.b1);//注册的ID tv_find_psw = findViewById(R.id.b2);//找回密码的ID btn_login = findViewById(R.id.btn_login);//登录按钮 et_user_name = findViewById(R.id.et_ID);//账号 et_psw = findViewById(R.id.et_password);//密码 //立即注册控件的点击事件 tv_register.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //为了跳转到注册界面,并实现注册功能 Intent intent=new Intent(MainActivity.this,RegisterActivity.class); startActivityForResult(intent, 1); } }); //找回密码控件的点击事件 tv_find_psw.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //跳转到找回密码界面(此页面暂未创建) Intent intent=new Intent(MainActivity.this,LostfoundActivity.class); startActivityForResult(intent, 1); } }); //登录按钮的点击事件 btn_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //开始登录,获取用户名和密码 getText().toString().trim(); userName=et_user_name.getText().toString().trim(); psw=et_psw.getText().toString().trim(); //对当前用户输入的密码进行MD5加密再进行比对判断, MD5Utils.md5( ); psw 进行加密判断是否一致 // String md5Psw= MD5Utils.md5(psw); // md5Psw ; spPsw 为 根据从SharedPreferences中用户名读取密码 // 定义方法 readPsw为了读取用户名,得到密码 // spPsw=readPsw(userName); // TextUtils.isEmpty if(TextUtils.isEmpty(userName)){ Toast.makeText(MainActivity.this, "请输入用户名", Toast.LENGTH_SHORT).show(); return; }else if(TextUtils.isEmpty(psw)) { Toast.makeText(MainActivity.this, "请输入密码", Toast.LENGTH_SHORT).show(); return; } else{ //此用户名不存在 Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show(); } } }); } /** *从SharedPreferences中根据用户名读取密码 */ private String readPsw(String userName){ //getSharedPreferences("loginInfo",MODE_PRIVATE); //"loginInfo",mode_private; MODE_PRIVATE表示可以继续写入 SharedPreferences sp=getSharedPreferences("loginInfo", MODE_PRIVATE); //sp.getString() userName, ""; return sp.getString(userName , ""); } /** *保存登录状态和登录用户名到SharedPreferences中 */ private void saveLoginStatus(boolean status,String userName){ //saveLoginStatus(true, userName); //loginInfo表示文件名 SharedPreferences sp=getSharedPreferences("loginInfo", MODE_PRIVATE); SharedPreferences sp=getSharedPreferences("loginInfo", MODE_PRIVATE); //获取编辑器 SharedPreferences.Editor editor=sp.edit(); //存入boolean类型的登录状态 editor.putBoolean("isLogin", status); //存入登录状态时的用户名 editor.putString("loginUserName", userName); //提交修改 editor.commit(); } /** * 注册成功的数据返回至此 * @param requestCode 请求码 * @param resultCode 结果码 * @param data 数据 */ @Override //显示数据, onActivityResult //startActivityForResult(intent, 1); 从注册界面中获取数据 //int requestCode , int resultCode , Intent data // LoginActivity -> startActivityForResult -> onActivityResult(); protected void onActivityResult(int requestCode, int resultCode, Intent data) { //super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data); if(data!=null){ //是获取注册界面回传过来的用户名 // getExtra().getString("***"); String userName=data.getStringExtra("userName"); if(!TextUtils.isEmpty(userName)){ //设置用户名到 et_user_name 控件 et_user_name.setText(userName); //et_user_name控件的setSelection()方法来设置光标位置 et_user_name.setSelection(userName.length()); } } } }
//《-----------------欢迎标题---------------------》 //《-----------------注册的昵称设置---------------------》 > //《-----------------注册的密码设置---------------------》 //《-----------------注册的手机号设置---------------------》 //《-----------------注册的同意协议---------------------》 > //《-----------------注册的按钮---------------------》
package com.example.qq; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.ActivityInfo; import android.graphics.Color; import android.os.Bundle; //import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; //import cn.edu.gdmec.android.androidstudiodemo.utils.MD5Utils; public class LostfoundActivity extends AppCompatActivity { //重置密码按钮 private Button btn_register; //用户名,密码,再次输入的密码,电话,验证码的控件 private EditText et_user_name,et_psw,et_psw_again,et_user_tele,et_user_code; //用户名,密码,再次输入的密码,电话,验证码的控件的获取值 private String userName,psw,pswAgain,userTele,userCode; //标题布局 private RelativeLayout rl_title_bar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置页面布局 ,注册界面 setContentView(R.layout.activity_lostfound); //设置此界面为竖屏 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); init(); } private void init() { //从activity_lostfound.xml 页面布局中获取对应的UI控件 et_user_name=findViewById(R.id.username); et_psw_again=findViewById(R.id.password2); et_user_tele=findViewById(R.id.tele); et_psw=findViewById(R.id.password1); et_user_code=findViewById(R.id.Code); btn_register=findViewById(R.id.bt); //重置按钮 btn_register.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //获取输入在相应控件中的字符串 getEditString(); //判断输入框内容 if(TextUtils.isEmpty(userName)){ Toast.makeText(LostfoundActivity.this, "请输入用户名", Toast.LENGTH_SHORT).show(); return; } else if(TextUtils.isEmpty(psw)){ Toast.makeText(LostfoundActivity.this, "请输入密码", Toast.LENGTH_SHORT).show(); return; }else if(TextUtils.isEmpty(pswAgain)){ Toast.makeText(LostfoundActivity.this, "请再次输入密码", Toast.LENGTH_SHORT).show(); return; } //验证码,手机号验证空有问题 //else if(TextUtils.isEmpty(userTele)){ //Toast.makeText(LostfoundActivity.this, "请输入手机号", Toast.LENGTH_SHORT).show(); //return;} //else if(TextUtils.isEmpty(userCode)){ // Toast.makeText(LostfoundActivity.this, "请输入验证码", Toast.LENGTH_SHORT).show(); //return; //} else if(!psw.equals(pswAgain)){ Toast.makeText(LostfoundActivity.this, "输入两次的密码不一样", Toast.LENGTH_SHORT).show(); return; } else if(isExistUserName(userName)){ Toast.makeText(LostfoundActivity.this, "此账户名已经存在", Toast.LENGTH_SHORT).show(); return; }else{ Toast.makeText(LostfoundActivity.this, "密码重置成功", Toast.LENGTH_SHORT).show(); //把账号、密码和账号标识保存到sp里面 /** * 保存账号和密码到SharedPreferences中 */ saveRegisterInfo(userName, psw); //注册成功后把账号传递到registerActivity.java中 // 返回值到mainActivity显示 Intent data = new Intent(); data.putExtra("userName", userName); setResult(RESULT_OK, data); //RESULT_OK为Activity系统常量,状态码为-1, // 表示此页面下的内容操作成功将data返回到上一页面,如果是用back返回过去的则不存在用setResult传递data值 LostfoundActivity.this.finish(); } } }); } /** * 获取控件中的字符串 */ private void getEditString(){ userName=et_user_name.getText().toString().trim(); psw=et_psw.getText().toString().trim(); pswAgain=et_psw_again.getText().toString().trim(); } /** * 从SharedPreferences中读取输入的用户名,判断SharedPreferences中是否有此用户名 */ private boolean isExistUserName(String userName){ boolean has_userName=false; //mode_private SharedPreferences sp = getSharedPreferences( ); // "loginInfo", MODE_PRIVATE SharedPreferences sp=getSharedPreferences("loginInfo", MODE_PRIVATE); //获取密码 String spPsw=sp.getString(userName, "");//传入用户名获取密码 //如果密码不为空则确实保存过这个用户名 if(!TextUtils.isEmpty(spPsw)) { has_userName=true; } return has_userName; } /** * 保存账号和密码到SharedPreferences中SharedPreferences */ private void saveRegisterInfo(String userName,String psw){ // String md5Psw = MD5Utils.md5(psw);//把密码用MD5加密 //loginInfo表示文件名, mode_private SharedPreferences sp = getSharedPreferences( ); SharedPreferences sp=getSharedPreferences("loginInfo", MODE_PRIVATE); //获取编辑器, SharedPreferences.Editor editor -> sp.edit(); SharedPreferences.Editor editor=sp.edit(); //以用户名为key,密码为value保存在SharedPreferences中 //key,value,如键值对,editor.putString(用户名,密码); // editor.putString(userName, md5Psw); //提交修改 editor.commit(); editor.commit(); } }