美文网首页
SharedPerferences简介

SharedPerferences简介

作者: ccbuluo | 来源:发表于2017-05-10 19:26 被阅读0次

原文出处:http://www.ccbu.cc/android/shareperferences-intro

SharedPerferences是Android系统提供的一种轻量级的数据存储方式,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出。

SharedPreferences提供了java常规的Long、Int、String等类型数据的保存接口,使用键值对的方式来进行数据存储,SharedPreferences文件是使用XML格式来对数据进行管理的,保存在在/data/data/(packageName)/shared_prefs目录下。

SharedPerferences存储的特点:

  • 轻量级
  • 存储简单数据类型
  • 以键值对的形式
  • 基于XML文件存储
  • 占用的是私有数据空间

SharedPreferences的四种操作模式:

  • Context.MODE_PRIVATE
  • Context.MODE_APPEND
  • Context.MODE_WORLD_READABLE
  • Context.MODE_WORLD_WRITEABLE
模式 说明
MODE_PRIVATE 为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
MODE_APPEND 模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件
MODE_WORLD_READABLE 表示当前文件可以被其他应用读取
MODE_WORLD_WRITEABLE 表示当前文件可以被其他应用写入

获取SP(SharedPerferences)的方法:

  1. PerferencesManager.getDefaultSharedPreferences(context);//不推荐使用
  2. context.getSharedPreferences("指定SP的名称", Context.MODE_PRIVATE);
  3. Activity类中的getPreferences(int mode)方法 // 该方法只接受一个模式参数,这个方法会自动将当前活动的类名做为SharedPreferences的文件名

存储内容:

haredPerferences sp = context.getSharedPerferences("mySp", Context.MODE_PRIVATE);
SharedPerferences.Editor editor = sp.edit();
editor.putString("name", name);//put方法有很多,参数都是键值对
editor.commit();//最后提交修改即可

读取内容:

SharedPerferences sp = context.getSharedPerferences("mySp", Context.MODE_PRIVATE);
String name = sp.getString("name", null);//get方法对应put,参数是键和默认值
  • SP是一个单例对象,支持多线程。

  • SharedPerferences.Editor有两种提交方法

    1. abstract boolean commit() 该方法是将内容提交到磁盘
    2. abstract void apply() 该方法是将内提交至内存,异步的进行磁盘IO操作
  • 在并发环境中后一个commit请求会等待前一个commit执行完毕后再执行;而apply则会直接覆盖掉前一个apply
    所以,在不关心数据提交成功与否的情况下,尽可能使用apply提高性能。

SP使用建议

  • APP版本升级并不会删除原有SP文件,有必要可以将APP版本号储存至SP文件中
  • 应该减少单个SP文件的大小
  • 只应该在单进程使用SP,否则有可能发生数据安全风险

相关文章

  • SharedPerferences简介

    原文出处:http://www.ccbu.cc/android/shareperferences-intro Sh...

  • 2019-03-01

    1.SharedPerferences是线程安全的吗?SharedPerferences是进程安全的吗?Share...

  • SharedPerferences存储

    SharedPerferences存储 SharedPreferences是使用键值对的方式来存储数据的,Shar...

  • SharedPerferences存储

    SharedPerferences存储 轻量级的存储方式,这种方式主要是对少量的数据进行存储,通过为程序开发人员提...

  • 18旅游二班各组自我简介汇总

    一组简介 二组简介 三组简介 四组简介 五组简介 六组简介 七组简介 八组简介

  • 简介

    上辈子,洛幽喜欢了东凡一辈子,没有结果,之后她死了,她不后悔,只是为什么她一睁眼,嗯?捏了捏自己的脸,她这是回到了...

  • 简介

    1.主动地去阅读。 2.阅读目的:获得资讯,获得理解 前者为了增进资讯,获得信息,不能增加理解力。后者为了理解更多...

  • 简介

    姓名:赵金星 电话:13903984903 坐标:河南三门峡市陕州区。 三个标签的自我介绍: 1.时间管理践行者 ...

  • 简介

    朱凝不过打错个字,便被天打雷劈回古代。 为毛别人穿个废柴嫡女,她穿个废柴庶女?地位更低了哎 哇喔,别人嫁王爷,她嫁...

  • 简介

    凌波网络考试系统,是一套运行于Windows系统之上的无纸化网络考试软件。包括试卷编辑、分发试卷、学生答卷、自动阅...

网友评论

      本文标题: SharedPerferences简介

      本文链接:https://www.haomeiwen.com/subject/ffngtxtx.html