登录记住密码

来源:互联网 发布:刘备汉昭烈帝皮肤优化 编辑:程序博客网 时间:2024/05/17 13:10
package com.example.unit01a_shared_savedemo03;


import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.Toast;


public class MainActivity extends Activity {
public EditText phonEditText, pwdEditText;
public CheckBox checkBox;
public SharedPreferences sp;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


sp = getSharedPreferences("user", MODE_PRIVATE);// 获取实例
phonEditText = (EditText) findViewById(R.id.edit_phone);
pwdEditText = (EditText) findViewById(R.id.edit_pwd);
checkBox = (CheckBox) findViewById(R.id.mycheck);
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {


@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {// 记住密码被选中;保存信息
Editor editor = sp.edit();
String value = getText(phonEditText);
if (value != null) {
editor.putString("phone", value).commit();
}
String pwd = getText(pwdEditText);
if (pwd != null) {
editor.putString("pwd", pwd).commit();
}
}


}
});
findViewById(R.id.login).setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {
// 实时获取当时输入的值
String value = getText(phonEditText);
String pwd = getText(pwdEditText);
if (value != null && pwd != null) {
// 两组是从SharedPreferences保存的值;
String phonesave = sp.getString("phone", "");
String pwdsave = sp.getString("pwd", "");
if (value.equals(phonesave) && pwd.equals(pwdsave)) {
Toast.makeText(MainActivity.this, "login success!",
Toast.LENGTH_SHORT).show();


}
}
}
});
getUserInfo();// 首先从SharedPreferences读取用户登录信息,有就显示,没有就不显示;
}


// 获取edittext里面输入的值
private String getText(EditText edit) {
String text = edit.getText().toString().trim();// 获取edittext里面输入的值
if (isNotNull(text)) {
return text;
}
return null;
}


// 从SharedPreferences读取用户手机号和密码
public void getUserInfo() {
String phone = sp.getString("phone", "");
String pwd = sp.getString("pwd", "");
if (isNotNull(phone) && isNotNull(pwd)) {// 两个值全不为空;
phonEditText.setText(phone);
pwdEditText.setText(pwd);
checkBox.setChecked(true);// 如果有值,checkbox默认选中;
}
}


// 字符串非空判断,一定注意!!!!
private boolean isNotNull(String data) {
if (data != null && !data.equals("")) {
return true;
}
return false;
}
}
原创粉丝点击