android存储对象
public class MainActivity extends Activity {
private EditText et_username;
private EditText et_pwd;
private CheckBox cb_isloging;
private SharedPreferences sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//[1]找到控件
et_username = (EditText) findViewById(R.id.et_username);
et_pwd = (EditText) findViewById(R.id.et_pwd);
cb_isloging = (CheckBox) findViewById(R.id.cb_islogin);
//[1.1]判断一下是否已经保存了用户 信息和密码信息 如果已经保存 把数据取出来 然后把数据回显到控件上(editText上)
sp = getSharedPreferences("config", 0);
String name = sp.getString("name", ""); //defValue默认值""
String pwd = sp.getString("pwd", "");
//把name 和 pwd 展示到控件上
et_username.setText(name);
et_pwd.setText(pwd);
}
//点击按钮 获取用户名和密码
public void click(View v){
//[2]获取用户名和密码
String name = et_username.getText().toString().trim();
String pwd = et_pwd.getText().toString().trim();
//[3]TextUtils 判断 字符串是否为空
if (TextUtils.isEmpty(name)||TextUtils.isEmpty(pwd)) {
//如果条件满足 说明name为空
Toast.makeText(MainActivity.this, "用户名或密码不能为空", 1).show();
}else {
//进行登录的逻辑 登录的逻辑等我们讲完服务器在完善
把用户名和密码的数据存起来 下次在进来的时候数据进行回显
if (cb_isloging.isChecked()) {
//[5]使用sp去存用户名和密码 首先对sp进行实例化
name:文件名 0代表私有模式 系统会帮助我们生成一个xml文件
//[5.1]获取sp的编辑器 目的是为了存储我们想存储的数据
Editor edit = sp.edit();
//[5.2]开始存储数据
edit.putString("name", name);
edit.putString("pwd", pwd);
//[5.3]commit
edit.commit();
}
}
}
}