SharedPreferences 对应sp文件的接口
使用 SharedPreferences API可以保存的相对较小键值对集合。SharedPreferences
对象指向包含键值对的文件,并提供读写这些键值对的简单方法。每个 SharedPreferences
文件均由框架进行管理,可以是私有文件,也可以是共享文件。
activity.getSharedPreferences(String name,int mode) 可以得到一个sp对象
- name:文件名,不带xml
- mode:生成的模式,是否私有
需要多个由名称(使用第一个参数指定)标识的共享偏好设置文件,则使用此方法
activity.getPreferences(int mode) 可以得到一个sp对象
只需使用一个共享偏好设置文件,请从 Activity 中使用此方法
- SharedPreferences不能真正的保存,此时需要Editor更新sp文件的接口
- sp. edit()可以创建一个 Editor对象。
- Editor.put(name,value):保存键值对,但没有真正保存到文件中
- Editor.remove(name):移除key=name的值
- commit() :提交保存修改
public class spActivity extends AppCompatActivity {
private SharedPreferences sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sp);
sp = this.getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString("data","这是第一个数据");
editor.commit();
}
读取数据
调用 getInt() 和 getString() 等方法,为您想要的值提供键;如果键不存在,则可以选择返回默认值。例如:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.integer.saved_high_score_default_key);
int highScore = sharedPref.getInt(getString(R.string.saved_high_score_key), defaultValue);
最后保存的地方
右下角找到虚拟机文件
Data ->Data ->你的包名 -> shared_prefs ->文件名