数据存储SharePreferences详解华蟾胶囊
1.SharedPreferences存储龙成语
SharedPreferences时使⽤键值对的⽅式来存储数据的,也就是在保存⼀条数据时,需要给这条数据提供⼀个对应的键,这样在读取的时候就可以通过这个键把相应的值取出来
SharePreferences是⼀个接⼝,不能直接使⽤,但可以通过以下两种⽅法获得:
对未来规划1.1.1Context类的getSharePreferences(String name ,ine mode)⽅法来获得⼀个SharePreferences对象:
此⽅法接收两个参数,第⼀个参数⽤于指定SharedPreference⽂件的名称,即存储XML⽂件的名称,如果存在,则会直接引⽤,如果指定的⽂件不存在则会创建⼀个,SharedPreference⽂件都是存放在/data/data/<;包名>/shared_prefs/存储的XML⽂件⽬录下,第⼆个参数表⽰⽂件的存储模式(该⽅式创建的XML⽂件可以被同⼀个软件的Activity引⽤)。
⽂件的⼏种存储模式:
MODE_PRIVATE:表⽰私有⽂佳,该⽂件智能被创建他的⽂件所访问
MODE_APPEND:表⽰新的存储内容会添加在原有⽂件内容的后⾯。
MODE_WORLD_READABLE:表⽰该⽂件能被所有的⽂件读取,但是不可以写⼊。
MODE_WORLD_WEITABLE:表⽰该⽂件能被所有的⽂件写⼊,也可以读取
MODE_MULTI_PROCESS:表⽰改⽂件可以被多个进程同时访问,适⽤于Android2.3及之后的版本。
1.1.2:调⽤Activity对象的getPreferences(int mode)⽅法
该⽅法有⼀个参数,表⽰⽂件的存储模式,具体模式童第轶中相同,这种⽅法获得的对象只能被该⽅法所在的Activity所调⽤
1.2还要创建⼀个SharePreferences.Editor类的对象,该类负责具体的写⼊操作,创建⽅法使通过SharePreferences类的edit()⽅法来创建。
通常有以下⼏种⽅法:
putBoolean(String key,boolean value)
putString(String key,String value)
putInt(String key,int value)
putFloat(String key,float value)
putLong(String key,long value)
commit();//在执⾏完各种写⼊、删除、修改的操作后,通过此⽅法来正式提交数据,确认存储⽂件的数据变化
clear();//清除键值对的⽅法
remove(String key);//删除官集资所对应的值
getAll();//读取存储⽂件中的所有数据,返回⼀个Map类型的值,来存放所有的键值对
getBoolean(String key,boolean defValue)
getString(String key,String defValue)
getInt(String key,String defValue)
getFloat(String key,String defValue)
getLong(String key,String defValue)
contains(String key)
registerSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener);//注册监听器,来监听SharePreferences的更改事件,在onCreate()⽅法中设置unregisterSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener);//注销监听器,不再监听SharePreferences的更改事件。
存储数据
得到SharedPreference对象之后,就可以开始向SharedPreference⽂件中存储数据了,主要有三步:
a.使⽤SharedPreference对象的edit()⽅法来获取⼀个SharedPreference.Editor对象
b.向SharedPreference.Editor对象中添加数据,⽐如添加⼀个布尔型数据就是⽤putBoolean⽅法,添加⼀个字符串就是⽤putString()⽅法,以此类推
c.调⽤commit()⽅法将添加的数据提交,从⽽完成数据存储操作
如:
private SharePreferences sp;
//创建⼀个SharePreferences接⼝的实例对象,将⽣成⼀个XML名称为demo_01,模式为MODE_PRIVATE
SharedPreferences("demo_01",MODE_PRIVATE);
两眉间有竖纹
//通过edit()⽅法创建⼀个SharePreferences.Editor类的实例对象
金狮子油
SharePreferences.Editor editor =sp.edit();
//通过putString()⽅法,将数据存⼊⽂件中
editor.putString("name","sssss");
//⽤commit()⽅法予以正式提交
打开⽂件,可看到如下代码:王安石梅花
<map>
<string name="name">sssss</string>
</map>
ao图删除数据:
editor.clear();//清除数据
出资协议查询数据:
String name = getString("name","lisi");
1.3从SharedPreferences中读取数据
SharedPreferences对象中提供了⼀系列的get⽅法⽤于读取数据,每种get对应了⼀种put⽅法
get⽅法接收两个参数,第⼀个是键,第⼆个参数是默认值,即当传⼊的键找不到对应的值时,会以什么样的默认值进⾏返回可以实现设置密码,记住密码功能。