【Android】数据共享 sharedPreferences 相关注意事项

时间:2022-12-21 08:13:28

Android 中通过 sharedPreferences 来持久化存储数据并进行共享

在 Activity 或存在 Context 环境中即可使用

context.getSharedPreferences(name, Context.MODE_PRIVATE);

设置要保存的数据:

        mSp = context.getSharedPreferences(name, Context.MODE_PRIVATE);
mEditor = mSp.edit();
mEditor.putString("test", "abc");
mEditor.putString("test2", "def");
mEditor.commit();
mSp.getString("test", "defaultValue_1");
mSp.getString("test2", "defaultValue_2");


注意:

1. 通过 edit() 获取一个新的编辑器对象来进行写入,设置完成后必须调用 commit 或者 apply 方法才能最终写入到磁盘文件中,否则重启应用后数据就丢失了哦!

2. 必须使用 局部变量保存获取到的 edit() 编辑器对像,而不能每项都通过 edit() 方法来操作,因为每次调用 edit 方法都会生成新的对象实例,操作的将不是同一个对象,我也是莫名其妙了好久,经过几次测试才发现。

3. 读取已存储的数据是通过 SharedPreferences 对象本身来获取的,而不再是 editor 对象了。

4. 获取数据时必须指定默认值