SharedPreferences 保存的数据主要是类似于配置信息格式的数据,因此它保存的数据主要是简单类型的 key -values对
SharedPreferences 接口主要负责读取应用程序的Preferences数据,它提供了如下常用的方法来访问SharedPreferences中的键值对。
- boolean contains(String key):判断SharedPreferences 是否包含特定的key的数据。
- abstract Map<String , ?> getAll();获取SharedPrefences 数据里的全部键值对。
- boolean getXxx(String key , xxx defValue):获取SharedPrefences数据里指定的key对应的value 。如果该key 不存在,返回默认的defValue.其中xxx 可以是 boolean, float , int, long, String 等各种基本类型的值。
sharedPreference接口本身并没有提供写入数据的能力。而是通过SharedPreferences 调用edit() 方法即可获取它所对应的Editor 对象。 Editor 提供了如下方法来向SharedPreferences 写入数据:
- SharedPrefences.Editor clear(): 清空SharedPrefences里的所有数据
- SharedPrefences.Editor putXxx(String key , xxx value):向SharedPrefences存入指定的key 对应的数据。.其中xxx 可以是 boolean, float , int, long, String 等各种基本类型的值。
- SharedPrefences.Editor remove(String key):删除SharedPrefences里指定key 对应的数据。
- boolean commit() : 当Editor 编辑完成后,调用该方法提交修改。
SharedPrefences本身是一个接口,程序无法直接创建SharedPrefences实例,只能通过Context 提供的getSharedPrefences(String name, int mode)方法来获取SharedPrefences实例,该方法的第二个参数支持如下几个值:
- Context.MODE_PRIVATE:指定该SharedPrefences数据只能被本程序读写。
- Context.MODE_WORLD_READABLE: 指定该SharedPrefences数据能被其他的应用程序读,但是不能写。
- Context.MODE_WORLD_WRITEABLE:指定该SharedPrefences数据能被其他的应用程序读,写