SharedPreferences简介

来源:互联网 发布:开核软件 编辑:程序博客网 时间:2024/06/06 09:19

1、SharedPreferences用键值对的方式将简单数据类型(boolean、int、float、long和String)存储在应用程序的私有目录下的xml文件中,可通过DDMS的File Explore在data/data/<package_name>/share_prefs下找到该文件。

2、SharedPreferences存储的数据只能在同一个包中使用。

3、SharedPreferences存储的文件不能储存到SD卡上,所以使用SharedPreferences存储数据不需要android.permission.WRITE_EXTERNAL_STORAGE权限

4、SharedPreferences的操作模式:

①Context.MODE_PRIVATE:新数据将会覆盖原数据;

②Context.MODE_APPEND:新数据将会追加到原数据后;

③Context.MODE_WORLD_READABLE:允许其他程序读取;

④Context.MODE_WRITEABLE:允许其他程序写入,新数据将会覆盖原数据。

⑤Context.MODE_MULTI_PROCESS:允许跨进程读写

5、SharedPreferences的使用:

①获取SharedPreferences对象,通过Context.getSharedPreferences(String name,int mode)方法获取,第一个参数name为存储的xml文件名,mode为操作模式;

②获取SharedPreferences.Editor对象,调用SharedPreferences的edit()方法获取;

③存储数据,通过SharedPreferences.Editor的putXXX方法以键值对的形式存储数据,其中XXX为数据类型,最后调用该接口的commit()方法提交数据,如果不需要获取commit返回值,可以使用apply()方法提交数据;

④读取数据,调用SharedPreferences的getXXX()方法取得。

6、apply()方法与commit()方法的区别:

从Android v9版本开始,SharedPreferences.Editor提供了apply()方法用于替代commit()方法。commit()方法会同步地将修改直接写入持久化存储设备。apply()方法会立即把修改内容提交到SharedPreferences内存缓存中,然后开始异步地将修改提交到存储设备上,在这个过程中,开发者不会察觉到任何错误问题。所以,如果不需要用到提交操作的返回值,就应该用apply()方法代替commit()方法。

0 0
原创粉丝点击