Android数据共享 sharedPreferences 的使用方法

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. 获取数据时必须指定默认值

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. 类和 Json对象
  4. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  5. LinearLayout按下(pressed)或获取焦点(focused)时背景设置不同颜
  6. Android之Adapter系列之SimpleAdapter类
  7. Android常用Manager
  8. Android开发之常用代码片段
  9. android之网络请求 -- 获取RecyclerView的列表项(图片 + 文字)

随机推荐

  1. 测试一个字符串是否包含PHP中的单词?
  2. Codeigniter $ this-> input-> post()为空,
  3. php数字排序从mysql asc
  4. Symfony2 -从数据库中提取数据并以表单形
  5. php大转盘抽奖算法
  6. 如何区分socket.io聊天中的Symfony用户角
  7. ThinkPHP中的find和select的区别
  8. 社交登录实现的数据库结构?
  9. 如何在jQuery Mobile页面中提交表单?
  10. [php]0-1背包动态规划