Preference提供了一种轻量级的数据存取方法,应用场合主要是数据比较少的配置信息。它以"键·值" (是一个 Map) 对的方式将数据保存 在一个 XML 配置文件中。例如,我们设置了 一个手机开机问候语,可以将其以 Preference 方式来进行配置。

使用 Preference方式来存取数据,用到了SharedPreferences 接口和SharedPreferences的一个内部接口SharedPreferences.Editor,这两个接口在android.content包中。

调用 Context.getSharedPreferences(String name,int mode)方法得到SharedPreferences接口。该方法的第一个参数是文件名称,第二个参数是操作模式。操作模式有三种: MODE_PRIVATE(私有)、MODE_WORLD_READABLE(可读)和MODE_WORLD_WRITEABLE(可写)。


SharedPreferences提供了获得数据的方法,如getString(String key,String detValue)、getInt(String key,int detValue)等。调用SharedPreferences的edit()方法返回SharedPreferences.Editor内部接口,该接口中提供了保存数据的方法,如putString(String key, String value)、putInt(String key,int value)等,调用该接口的commit()方法可以将数据进行保

存。SharedPreferences 和 SharedPreferences.Editor 的常用方法如下:



SharedPreferences 常用方法


方法名称 方法描述


edit() 返回 SharedPreferences 的内部接口 SharedPreferences.Editor

contains(String key) 判断是否包含该键值

getAll() 返回所有配置信息 Map

getBoolean(String key,boolean deNalue) 获得一个 boolean 值

getFloat( String key,float deNalue) 获得一个float值

getlnt(String key,int deNalue) 获得 一个int值

getLong(String key,long deNalue) 获得一个 long 值

getString(String key,String deNalue) 获得一个 String 值


SharedPreferences.Editor 常用方法


方法名称 方法描述


clear() 清除所高值
commit() 保存

getAll()( 返回所有配置信息Map

putBoolean(String key,boolean value) 保存一个 boolean 值

putFloat(String key,float value) 保存一个 float值

putlnt(String key,int value) 保存个int值

putLong(String key,long value) 保存个 long 值

putString(String key,String value) 保存 一个 String 值

remove(String key) 删除该键对应的值


使用:

存储数据

在void onStop()中,代码如下:

protectedvoidonStop(){super.onStop();SharedPreferences.Editeditor=getShardPreference.Edit(String,Mode_World_Writing).Edit();editor.putString("key",myedittext.getText().toString());//放入数据editor.commit();//保存数据}

在void onCreate()中,代码如下:

protectedvoidonCreate(){super.onCreate();......SharedPreferencepre=getShardPreference.Edit(String,Mode_World_Writing);mytextview.setText(pre.get("key"));}