1.SharedPreferences是什么
sharedPreferences是一种轻量级的数据存储方式:存储以键值对存储数据,存储轻量级的数据 用xml标记
2.如何写入数据:
存储与读取数据数据首先要创建SharedPreferences和SharedPreferences.Editor对象
SharedPreferences sharedPreferences=getSharedPreferences("sp",MODE_PRIVATE);
SharedPreferences.Editor editor=sharedPreferences.edit();
写入数据调用editor.putString/int等等需要的基本类型:
editor.putString("name", name);//键值对存储
editor.putString("pwd", pwd);
3.读取数据,用sharedPreferences.getString方法:
String name=sharedPreferences.getString("name","");
String pwd=sharedPreferences.getString("pwd","");
4记住密码案例
package com.example.xiaozhen.mynewapplication;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
public class VpageActivity extends AppCompatActivity implements View.OnClickListener {
private TextView nameTV;
private EditText et_name, et_pwd;
private CheckBox CB;
private Button btn_login;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vpage);
init();
//初始化SharedPreferences
SharedPreferences sharedPreferences=getSharedPreferences("sp",MODE_PRIVATE);
SharedPreferences.Editor editor=sharedPreferences.edit();
定义一个boolean类型的标志位
boolean check=sharedPreferences.getBoolean("check",false);
if (check){
String name=sharedPreferences.getString("name","");
String pwd=sharedPreferences.getString("pwd","");
et_name.setText(name);
et_pwd.setText(pwd);
CB.setChecked(true);
}else {
CB.setChecked(false);
}
}
private void init() {
// nameTV= (TextView) findViewById(R.id.vpage_nametv);
et_name = (EditText) findViewById(R.id.et_name);
et_pwd = (EditText) findViewById(R.id.et_pwd);
CB = (CheckBox) findViewById(R.id.cb);
btn_login= (Button) findViewById(R.id.btn_login);
btn_login.setOnClickListener(this);
}
@Override
public void onClick(View v) {
SharedPreferences sharedPreferences=getSharedPreferences("sp",MODE_PRIVATE);
SharedPreferences.Editor editor=sharedPreferences.edit();
switch (v.getId()) {
case R.id.btn_login:
//如果被选中
if (CB.isChecked()) {
//得到用户所写的登录名和密码转化成String
String name=et_name.getText().toString();
String pwd=et_pwd.getText().toString();
//将得到的登录名和密码写入
editor.putString("name", name);
editor.putString("pwd", pwd);
//添加一个标志位
editor.putBoolean("check",true);
}else {
//如果不是勾选状态,则把里面的值清空
editor.clear();
}
//把数据提交出去
editor.commit();
break;
default:
break;
}
}
}