Android数据存储之SharedPreferences
- SharedPreferences:
- 是一种轻型的数据存储方式。
- 本质上是基与XML文件存储Key-value键值对数据。
- 通常用来存储一些简单的配置信息。
- 是Android系统提供的一个通用的数据持久化框架。
- 仅支持boolean、float、int、long和String等基本类型的存储。
使用SharedPreferences的步骤:
- 首先要获取SharedPreferences对象。有两种方法:
(1)
SharedPreferences sp=getSharedPreferences(“spname”,MODE_PRIVATE);
//当程序中可能使用到多个SharedPreferences时使用该方法。
或者
SharedPreferences sp=getPreferences(MainActivity.MODE_PRIVATE);
//只使用一个SharedPreferences 对象时。 - 调用edit()方法获取SharedPreferences.Editor,SharedPreferences 通过该接口对齐内容进行更新
Editor editor=sp.edit(); //定义Editor对象,调用edit()方法。 - 通过SharedPreferences.Editor接口提供的put方法对SharedPreferences进行更新。
editor.putString(“name”,”张三”);//将String类型的数据添加到editor对象中。 - 调用SharedPreferences.Editor的commit()方法,将更新提交到SharedPreferences中。
editor.commit();//将数据提交到SharedPreferences对象中,每执行一次事务都要提交一次。
获取SharedPreferences对象的两种方法
- SharedPreferences getSharedPreferences(String name,int mode)方法:使用该方法获取到name指定的SharedPreferences对象,并获取SharedPreferences对象的读写控制权。
- SharedPreferences getPreferences(int mode)方法:使用该方法获取当前Activity对应的SharedPreferences,而不需要指定SharedPreferences的名字。
其中参数mode有四中取值,分别是:
- MODE_PRIVATE:默认方式,只能被创建应用程序或者与创建与应用程序具有相同用户ID的应用程序访问。(私有的)
- MODE_WORLD_READABLE:允许其他应用程序对该SharedPreferences 文件进行读操作。(只读)
- MODE_WORLD_WERTEABLE:允许其他应用程序对该SharedPreferences 文件进行写操作。(只写)
- MODE_MULTI_PROCESS:在多线程应用程序中,当多个进程都对同一个SharedPreferences进行访问是,该文件的每次修改都会被重新可对。