LoginTest
- 北京
- 上海
- 天津
- 深圳
- 广州
- 福建
- 江苏
- 浙江
- 江西
- 湖北
#FF000000
#FFFFFFFF
#C5E1A5
#8BC34A
#689F38
@color/green_500
@color/green_700
#F4511E
#FF03DAC5
#FF018786
package com.example.logintest;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btn_logout;
private TextView tvContent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_logout = findViewById(R.id.btn_logout);
btn_logout.setOnClickListener(this);
tvContent = findViewById(R.id.tv_content);
Intent intent = getIntent();
String account = intent.getStringExtra("account");
tvContent.setText("欢迎你:"+account);
}
@Override
public void onClick(View view) {
if (view.getId() == R.id.btn_logout) {
SharedPreferences spf = getSharedPreferences("spfRecord",MODE_PRIVATE);
SharedPreferences.Editor edit = spf.edit();
edit.putBoolean("isLogin",false);
edit.apply();
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
this.finish();
}
}
}
package com.example.logintest;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;
public class RegisterActivity extends AppCompatActivity implements View.OnClickListener {
private Button btnRegister;
private EditText etAccount,etPass,etPassConfirm;
private CheckBox rbAgree;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
btnRegister = findViewById(R.id.btn_register);
btnRegister.setOnClickListener(this);
etAccount = findViewById(R.id.et_account);
etAccount.setOnClickListener(this);
etPass = findViewById(R.id.et_password);
etPass.setOnClickListener(this);
etPassConfirm = findViewById(R.id.et_password_confirm);
etPassConfirm.setOnClickListener(this);
rbAgree = findViewById(R.id.rb_agree);
rbAgree.setOnClickListener(this);
}
@Override
public void onClick(View view) {
String name = etAccount.getText().toString();
String pass = etPass.getText().toString();
String passConfirm = etPassConfirm.getText().toString();
if (view.getId() == R.id.btn_register) {
if (TextUtils.isEmpty(name)) {
Toast.makeText(RegisterActivity.this, "用户名不能为空", Toast.LENGTH_LONG).show();
return;
}
if (TextUtils.isEmpty(pass)) {
Toast.makeText(RegisterActivity.this, "密码不能为空", Toast.LENGTH_LONG).show();
return;
}
if (!TextUtils.equals(pass, passConfirm)) {
Toast.makeText(RegisterActivity.this, "密码不一致", Toast.LENGTH_LONG).show();
return;
}
if (!rbAgree.isChecked()) {
Toast.makeText(RegisterActivity.this, "请同意用户协议", Toast.LENGTH_LONG).show();
return;
}
SharedPreferences spf = getSharedPreferences("spfRecorid",MODE_PRIVATE);
SharedPreferences.Editor edit = spf.edit();
edit.putString("account",name);
edit.putString("password",pass);
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("account",name);
bundle.putString("password",pass);
intent.putExtras(bundle);
setResult(0,intent);
Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_LONG).show();
this.finish();
}
}
}
package com.example.logintest;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class LoginActivity extends AppCompatActivity implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
public static final int REQUEST_CODE_REGISTER = 1;
private Button btnLogin;
private EditText etAccount,etPassword;
private CheckBox cbRemember,cbAutoLogin;
private TextView toRegister;
private String userName = "admin";
private String pass = "1234";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
initView();
initData();
}
@Override
public void onClick(View view) {
if (view.getId() == R.id.btn_Login) {
String account = etAccount.getText().toString();
String passWord = etPassword.getText().toString();
if (TextUtils.isEmpty(userName)){
Toast.makeText(LoginActivity.this, "对不起,你还没注册账号!", Toast.LENGTH_LONG).show();
return;
}
if (TextUtils.equals(account, userName)) {
if (TextUtils.equals(passWord, pass)) {
Toast.makeText(LoginActivity.this, "恭喜你,登陆成功!", Toast.LENGTH_LONG).show();
if (cbRemember.isChecked()){
SharedPreferences spf = getSharedPreferences("spfRecord",MODE_PRIVATE);
SharedPreferences.Editor edit = spf.edit();
edit.putString("account",account);
edit.putString("password",passWord);
edit.putBoolean("isRemember",true);
if (cbAutoLogin.isChecked()){
edit.putBoolean("isLogin",true);
}else {
edit.putBoolean("isLogin",false);
}
edit.apply();
}else {
SharedPreferences spf = getSharedPreferences("spfRecord",MODE_PRIVATE);
SharedPreferences.Editor edit = spf.edit();
edit.putBoolean("isRemember",false);
edit.apply();
}
Intent intent = new Intent(LoginActivity.this, UserProfileActivity.class);
intent.putExtra("account",account);
startActivity(intent);
LoginActivity.this.finish();
} else {
Toast.makeText(LoginActivity.this, "密码错误!", Toast.LENGTH_LONG).show();
}
} else {
Toast.makeText(LoginActivity.this, "用户名错误!", Toast.LENGTH_LONG).show();
}
} else if (view.getId() == R.id.to_register) {
Intent intent = new Intent(this, RegisterActivity.class);
startActivityForResult(intent, REQUEST_CODE_REGISTER);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_REGISTER && resultCode == 0 && data!=null){
Bundle extras = data.getExtras();
String account = extras.getString("account", "");
String password = extras.getString("password", "");
etAccount.setText(account);
etPassword.setText(password);
userName = account;
pass = password;
}
}
private void initView(){
btnLogin = findViewById(R.id.btn_Login);
btnLogin.setOnClickListener(this);
etAccount = findViewById(R.id.et_account);
etAccount.setOnClickListener(this);
etPassword = findViewById(R.id.et_password);
etPassword.setOnClickListener(this);
cbRemember = findViewById(R.id.cb_remember);
cbRemember.setOnCheckedChangeListener(this::onCheckedChangedResult);
cbAutoLogin = findViewById(R.id.cb_auto_login);
cbAutoLogin.setOnCheckedChangeListener(this::onCheckedChanged);
toRegister = findViewById(R.id.to_register);
toRegister.setOnClickListener(this);
}
private void initData() {
SharedPreferences spf = getSharedPreferences("spfRecord",MODE_PRIVATE);
boolean isRemember = spf.getBoolean("isRemember",false);
boolean isLogin = spf.getBoolean("isLogin",false);
String account = spf.getString("account","");
String password = spf.getString("password","");
if (isLogin){
Intent intent = new Intent(LoginActivity.this, UserProfileActivity.class);
intent.putExtra("account",account);
startActivity(intent);
LoginActivity.this.finish();
}
userName = account;
pass = password;
if (isRemember){
etAccount.setText(account);
etPassword.setText(password);
cbRemember.setChecked(true);
}
}
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b){
cbRemember.setChecked(true);
}
}
public void onCheckedChangedResult(CompoundButton compoundButton, boolean b) {
if (!b){
cbAutoLogin.setChecked(false);
}
}
}
package com.example.logintest;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class UserProfileActivity extends AppCompatActivity implements View.OnClickListener {
private TextView tvNickName,tvAccount,tvAge,tvGender,tvCity,tvHome,tvSchool,tvSign,tvBirthdayTime;
private String birthDayTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_profile);
Button btn_toEdit = findViewById(R.id.btn_toEdit);
btn_toEdit.setOnClickListener(this);
Button btn_logout = findViewById(R.id.btn_logout);
btn_logout.setOnClickListener(this);
initView();
}
@Override
protected void onResume() {
super.onResume();
initData();
}
private void initData() {
getDataFromspf();
}
private void getDataFromspf() {
SharedPreferences spfRecord = getSharedPreferences("spfRecord",MODE_PRIVATE);
String account = spfRecord.getString("account","");
String nick_name = spfRecord.getString("nick_name","");
String city = spfRecord.getString("city","");
String gender = spfRecord.getString("gender","");
String school = spfRecord.getString("school","");
String birth_day_time = spfRecord.getString("birth_day_time","");
String sign = spfRecord.getString("sign","");
String home = spfRecord.getString("home","");
String age = getAgeByBirthDay(birthDayTime);
tvAccount.setText(account);
tvNickName.setText(nick_name);
tvAge.setText(age);
tvHome.setText(home);
tvSchool.setText(school);
tvSign.setText(sign);
tvBirthdayTime.setText(birth_day_time);
tvGender.setText(gender);
tvCity.setText(city);
}
private String getAgeByBirthDay(String birthDayTime) {
if (TextUtils.isEmpty(birthDayTime)){
return "";
}
try {
int index = birthDayTime.indexOf("年");
String result = birthDayTime.substring(0,index);
int parseInt = Integer.parseInt(result);
return String.valueOf(2021-parseInt);
}catch (Exception e){
e.printStackTrace();
}
return "";
}
private void initView() {
tvAccount = findViewById(R.id.tv_account_text);
tvNickName = findViewById(R.id.tv_nick_name);
tvAge = findViewById(R.id.tv_age);
tvHome = findViewById(R.id.tv_home_text);
tvSchool = findViewById(R.id.tv_school_text);
tvSign = findViewById(R.id.tv_sign_text);
tvBirthdayTime = findViewById(R.id.tv_birth_time_text);
tvGender = findViewById(R.id.tv_gender);
tvCity = findViewById(R.id.tv_city);
}
@Override
public void onClick(View view) {
if (view.getId() == R.id.btn_toEdit){
Intent intent = new Intent(this, EditProfileActivity.class);
startActivity(intent);
} else if (view.getId() == R.id.btn_logout) {
SharedPreferences spf = getSharedPreferences("spfRecord",MODE_PRIVATE);
SharedPreferences.Editor edit = spf.edit();
edit.putBoolean("isLogin",false);
edit.apply();
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
this.finish();
}
}
}
package com.example.logintest;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.AppCompatSpinner;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.TimePicker;
public class EditProfileActivity extends AppCompatActivity implements View.OnClickListener {
private EditText etNickName,etAccount,etSchool,etSign;
private TextView tvBirthDayTime;
private RadioButton rbBoy,rbGirl;
private AppCompatSpinner spinnerCity;
private String[] cities;
private int selectedCityPosition;
private String selectedCity;
private String birthDay;
private String birthDayTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_profile);
Button btn_save = findViewById(R.id.btn_save);
btn_save.setOnClickListener(this);
initView();
initData();
initEvent();
}
private void initView() {
etAccount = findViewById(R.id.et_account_text);
etNickName = findViewById(R.id.et_nick_name_text);
etSchool = findViewById(R.id.et_school_text);
etSign = findViewById(R.id.et_sign_text);
tvBirthDayTime = findViewById(R.id.tv_birth_time_text);
rbBoy = findViewById(R.id.rb_boy);
rbGirl = findViewById(R.id.rb_girl);
spinnerCity = findViewById(R.id.sp_city);
}
private void initData() {
cities = getResources().getStringArray(R.array.cities);
getDataFromspf();
}
private void getDataFromspf() {
SharedPreferences spfRecord = getSharedPreferences("spfRecord",MODE_PRIVATE);
String account = spfRecord.getString("account","");
String nick_name = spfRecord.getString("nick_name","");
String age = spfRecord.getString("age","");
String city = spfRecord.getString("city","");
String gender = spfRecord.getString("gender","");
String school = spfRecord.getString("school","");
String birth_day_time = spfRecord.getString("birth_day_time","");
String sign = spfRecord.getString("sign","");
String home = spfRecord.getString("home","");
etAccount.setText(account);
etNickName.setText(nick_name);
etSchool.setText(age);
etSign.setText(home);
tvBirthDayTime.setText(birthDayTime);
if (TextUtils.equals("男",gender)){
rbBoy.setChecked(true);
}
if (TextUtils.equals("女",gender)){
rbGirl.setChecked(true);
}
for (int i = 0; i < cities.length; i++) {
if (TextUtils.equals(cities[i],city)){
selectedCityPosition = i;
break;
}
}
spinnerCity.setSelection(selectedCityPosition);
}
private void initEvent() {
spinnerCity.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> adapterView, View view, int i, long l) {
selectedCityPosition = i;
selectedCity = cities[i];
}
@Override
public void onNothingSelected(AdapterView> adapterView) {
}
});
tvBirthDayTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new DatePickerDialog(EditProfileActivity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
int realMonth = i1+1;
birthDay = i+"年"+realMonth+"月"+i2+"日";
popTimePick();
}
},2024,2,17).show();
}
});
}
private void popTimePick() {
new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
birthDayTime = birthDay+i+"时"+i1+"分";
tvBirthDayTime.setText(birthDayTime);
}
},12,36,true).show();
}
@Override
public void onClick(View view) {
if (view.getId() == R.id.btn_save){
String account = etAccount.getText().toString();
String sign = etSign.getText().toString();
String school = etSchool.getText().toString();
String nickName = etNickName.getText().toString();
String gender = "男";
if (rbBoy.isChecked()){
gender = "男";
}
if (rbGirl.isChecked()){
gender = "女";
}
SharedPreferences spfRecord = getSharedPreferences("spfRecord",MODE_PRIVATE);
SharedPreferences.Editor editor = spfRecord.edit();
editor.putString("account",account);
editor.putString("sign",sign);
editor.putString("school",school);
editor.putString("nick_name",nickName);
editor.putString("birth_day_time",birthDayTime);
editor.putString("city",selectedCity);
editor.putString("gender",gender);
editor.apply();
this.finish();
}
}
}