优点:
使用简单、轻松存放和读取数据;
缺点:
只能保存基本类型的数据,例如:String、int,对于复杂数据对象,一般转换成Base64编码然后以String形式保存在XML文件中;
存储形式:
XML文件,key-value形式;
用法:
SharedPreferences sp = context.getSharedPreferences(“setting”,0);
SharedPreferences.Editor editor = sp.edit();
editor.putString(“name”,”zhang_san”);
editor.commit();
String name = sp.getString(“name”,”默认值”);
权限:
① Activity.MODE_PRIVATE:默认操作模式,代表该文件是私有数据,只能被该应用本身访问,在该模式下,写入的内容会覆盖源文件的内容,如果想把新写入的内容追加到原文件中,可以使用Activity.MODE_APPEND
② Activity.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取
③ Activity.MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入,如果希望文件被其他应用读和写,可以传入:
Activity.MODE_WORLD_READABLE+Activity.MODE_WORLD_WRITEABLE
④ Activity.MODE_APPEND:该模式会检查文件是否存在,存在就往文件追加内容,否则就创建文件;
注意:
① 所有APP共享一个ShardPreferences实例;
② 通过Edit对象来提交存储数据以便Preference数值保持一致的状态;
③ 当前此类不支持多线程访问,后续将添加;
④ 文件路径:data/data/包名/share_prefs/XXX.xml