background image

使用

Shared Preferences (Using Shared Preferences)

SharedPreferences 类提供了一个通用的框架来允许你以"键-值对"的形式来储存和获取

持久的基础数据。你可以使用

SharedPreferences 来保存任何基础数据:boolean, float, int, 

long 和 String。这些数据将存留横跨用户对话(即使你的应用程序被杀死了)。

 User Preferences
Shared preferences are not strictly for saving "user preferences," such as what ringtone a user 

has  chosen.  If  you're  interested  in  creating  user  preferences  for  your  application,  see 
PreferenceActivity

,  which  provides  an  Activity  framework  for  you  to  create  user  preferences,  which  will  be 

automatically persisted (using shared preferences).

要给你的应用获取一个

SharedPreference 对象,使用以下的两个函数之一:

getSharedPreferences() - 如果你需要多个通过名字来识别的偏好文件请使用该函数,名

字通过第一个参数来设定。

getPreferences() - 如果你的 Activity 仅需要一个偏好文件请使用该函数。因为这会是你

Activity 独有的偏好文件,你不用提供一个文件名。

写入数值:

1.调用 edit() 函数来获得一个 SharedPreferences.Editor 对象。

2.通过 putBoolean() 、putString() 等函数来添加数值。

3.通过 commit() 函数来提交和确认操作。

要读取数值,使用

SharedPreferences 中的 getBoolean() 、getString() 等函数。

这里是一个例子,为一个计算器的按键静音模式保存了一个偏好:

Java 代码

public class Calc extends Activity {        
    public static final String PREFS_NAME = "MyPrefsFile";        
    @Override        protected void onCreate(Bundle state) {    
        super.onCreate(state);             . . .    
               //  Restore  preferences                       SharedPreferences  settings  = 

getSharedPreferences(PREFS_NAME, 0);    

        boolean silent = settings.getBoolean("silentMode", false);            setSilent(silent);    
    }        
    @Override        protected void onStop() {