shared preferences 是通过 Context 类的 getSharedPreferences 方法操作的。preferences 储存在文件中,而文件名用来指向 preferences。下面是怎样从 preferences 中读取数据。 public static final String PREF_FILE_NAME = “PrefFile”; … SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE); int storedPreference = preferences.getInt(”storedInt”, 0); // use the values MODE_PRIVATE 是 preferences 的操作模式。这是默认的模式,代表只有创建这个 preferences 的程序才能访问这个 preferences。其他两个模式是MODE_WORLD_READABL和 MODE_WORLD_WRITEABLE。 MODE_WORLD_READABLE 表示其他程序对这个SharedPreferences 只有只读权限。MODE_WORLD_WRITEABLE 则是其他程序同时拥有读写权限。 用 SharedPreference.Editor 往 preference 文件中保存数据。Editor 是 SharedPreference 的内部接口。 SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putInt(”storedInt”, storedPreference); // value to store editor.commit(); Editor 也支持 remove() 和 clear() 方法来删除数据。 Activity Preferences: shared preferences 可以被其他程序的组件使用。但是如果你不需要和其他组件共享 preferences,而是希望一个在activities内私有的 preferences。可以用 activity 类的 getPreferences() 方法来实现。getPreference 方法用 activity 类的名字作为参数调用 getSharedPreference()。 下面是代码: SharedPreferences preferences = getPreferences(MODE_PRIVATE); int storedPreference = preferences.getInt(”storedInt”, 0); 下面的代码在 preferences 中保存数据。 SharedPreferences preferences = getPreference(MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putInt(”storedInt”, storedPreference); // value to store editor.commit();