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()中,代码如下:

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

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

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