当我们开发APP是遇到登陆的时候有复选框是否要保留 账号和密码;这样的一个情况。下面我们来看看用代码是怎样实现的;首先建一个Activity;
package mifeng.us.tts.landing.us.mifeng;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.Toast;
import mifeng.us.tts.R;
/**
* Created by 孙贝贝 on 2016/10/17.
*/
public class Landing extends Activity {
private CheckBox cb1;
private EditText et1;
private EditText et2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.landing);
initview();
initfun();
lister();
}
private void lister() {
cb1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
// TODO Auto-generated method stub
SharedPreferences settings = getSharedPreferences("SETTING_Infos", 0);
if (arg1 == true) {//勾选时,存入EditText中的用户名密码
settings.edit().putString("judgeText", "yes")
.putString("userNameText", et1.getText().toString())
.putString("passwordText", et2.getText().toString())
.commit();
Toast.makeText(Landing.this, "记住用户名和密码", Toast.LENGTH_SHORT)
.show();
} else {//不勾选,存入空String对象
settings.edit().putString("judgeText", "no")
.putString("UserNameText", "")
.putString("passwordText", "")
.commit();
Toast.makeText(Landing.this, "不记住用户名和密码", Toast.LENGTH_SHORT)
.show();
}
}
});
}
private void initfun() {
//从配置文件中取用户名密码的键值对
//若第一运行,则取出的键值对为所设置的默认值
SharedPreferences settings = getSharedPreferences("SETTING_Infos", 0);
String strJudge = settings.getString("judgeText", "no");// 选中状态
String strUserName = settings.getString("userNameText", "");// 用户名
String strPassword = settings.getString("passwordText", "");// 密码
if (strJudge.equals("yes")) {
cb1.setChecked(true);
et1.setText(strUserName);
et2.setText(strPassword);
} else {
cb1.setChecked(false);
et1.setText("");
et2.setText("");
}
//监听器
}
private void initview() {
cb1 = (CheckBox) findViewById(R.id.check);
et1 = (EditText) findViewById(R.id.edit_user);
et2 = (EditText) findViewById(R.id.edit_password);
}
}
代码没有多少而且一目了然;
package mifeng.us.tts.landing.us.mifeng;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.Toast;
import mifeng.us.tts.R;
/**
* Created by 孙贝贝 on 2016/10/17.
*/
public class Landing extends Activity {
private CheckBox cb1;
private EditText et1;
private EditText et2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.landing);
initview();
initfun();
lister();
}
private void lister() {
cb1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
// TODO Auto-generated method stub
SharedPreferences settings = getSharedPreferences("SETTING_Infos", 0);
if (arg1 == true) {//勾选时,存入EditText中的用户名密码
settings.edit().putString("judgeText", "yes")
.putString("userNameText", et1.getText().toString())
.putString("passwordText", et2.getText().toString())
.commit();
Toast.makeText(Landing.this, "记住用户名和密码", Toast.LENGTH_SHORT)
.show();
} else {//不勾选,存入空String对象
settings.edit().putString("judgeText", "no")
.putString("UserNameText", "")
.putString("passwordText", "")
.commit();
Toast.makeText(Landing.this, "不记住用户名和密码", Toast.LENGTH_SHORT)
.show();
}
}
});
}
private void initfun() {
//从配置文件中取用户名密码的键值对
//若第一运行,则取出的键值对为所设置的默认值
SharedPreferences settings = getSharedPreferences("SETTING_Infos", 0);
String strJudge = settings.getString("judgeText", "no");// 选中状态
String strUserName = settings.getString("userNameText", "");// 用户名
String strPassword = settings.getString("passwordText", "");// 密码
if (strJudge.equals("yes")) {
cb1.setChecked(true);
et1.setText(strUserName);
et2.setText(strPassword);
} else {
cb1.setChecked(false);
et1.setText("");
et2.setText("");
}
//监听器
}
private void initview() {
cb1 = (CheckBox) findViewById(R.id.check);
et1 = (EditText) findViewById(R.id.edit_user);
et2 = (EditText) findViewById(R.id.edit_password);
}
}