简介
- SharedPreference是安卓的一个轻量级的存储类。基本上是用于保存一些常用的
用户配置
。 - 基本原理是,通过安卓系统生成一个xml文件 以键值对的形式保存在 /data/data/包名/shared_prefs目录下。
- 配置信息
- Windows是 ini
- Android是 xml
- 作用
- 自动登入
- 记住密码
- 主题记录 等
- 特点
- 不要存储太多的信息。会导致app变得卡顿。
- 当程序运行首选项里面的数据 会全部加载进内容。
SP的保存
/**
* nama:SP 的名字
* mode:模式
* 常规模式:Context.MODE_PRIVATE 每次都会更新
* 追加模式: Context.MODE_APPEND 在后面追加
* @Override
* public SharedPreferences getSharedPreferences(String name, int mode) {
* return mBase.getSharedPreferences(name, mode);
* }
*/
SharedPreferences sp = getSharedPreferences("sptest", Context.MODE_PRIVATE);
sp.edit().putString("name","jsd");
sp.edit().putBoolean("graduate",false);
sp.edit().putInt("age",22);
sp.edit().commit();
- putXXX() 写入数据
- commit() 提交数据
SP的获取
//参数一:保存的键值
//参数二:当没有到值时,所默认的值。
sp.getString("name","");
注意
正确用法:
sp = getSharedPreferences("config", Context.MODE_PRIVATE);
//这是关键的步骤
editor = sp.edit();
editor.putString("nihao","hello");
editor.commit();
不正确的用法:
sp = getSharedPreferences("config", Context.MODE_PRIVATE);
//直接使用 sp.edit()
sp.edit().putString("nihao","hello");
sp.editer()commit();