SharedPreferences
简单用法
SharedPreferences是一种轻量级的数据存储方式,采用键值对的存储方式。
SharedPreferences只能存储少量数据,大量数据不能使用该方式存储,支持存储的数据类型有booleans, floats, ints, longs, and strings。
SharedPreferences存储到一个XML文件中的,路径在/data/data//shared_prefs/下,文件名以及存储后面详细讲述。
使用步骤:
- 得到SharedPreferences对象
- 调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象。
- 向SharedPreferences.Editor对象中添加数据。
- 调用commit方法将添加的数据提交。
public class MainActivity extends Activity {
private EditText mEditName,mEditAge;
private Button mBtnSave,mBtnLoad;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEditName = (EditText) findViewById(R.id.edit_name);
mEditAge = (EditText) findViewById(R.id.edit_age);
mBtnSave = (Button) findViewById(R.id.btn_save);
mBtnSave.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//获得用户输入的数据
String name = mEditName.getText().toString();
String age = mEditAge.getText().toString();
//使用SharedPreferences做数据持久化
SharedPreferences sp = getPreferences(MODE_PRIVATE); //使用私有模式获得一个默认的存储对象
//进入编辑状态,获得编辑器对象
Editor editor = sp.edit();
//添加数据存储(键值对)
editor.putString("name", name);
editor.putString("age", age);
//提交
editor.commit();
}
});
mBtnLoad = (Button) findViewById(R.id.btn_load);
mBtnLoad.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//使用SharedPreferences做数据持久化
SharedPreferences sp = getPreferences(MODE_PRIVATE); //使用私有模式获得一个默认的读取对象
//获得数据
//参数一:键
//参数二:默认值:如果读不到数据,默认为什么
String name = sp.getString("name", "佚名");
String age = sp.getString("age", "-1");
//展示
Toast.makeText(MainActivity.this, name+","+age, Toast.LENGTH_SHORT).show();
}
});
}
}